#martin-gaibisso_api
1 messages ยท Page 1 of 1 (latest)
๐ Welcome to your new thread!
โฒ๏ธ We'll be here soon! Typically we respond in a few minutes, but sometimes we might take a bit longer if the server is busy or if you have a particularly tricky question.
โฑ๏ธ We close idle threads, which makes them read-only. Once a thread is closed it won't be reopened, but you can always start a new thread if you have another question.
๐ This thread will always be available, even after it's closed. You can find it again using Discord's search, or you can save this link: https://discord.com/channels/841573134531821608/1392131587851812884
๐ Have more to share? Add more details, code, screenshots, videos, etc. below.
Hi, i'm creating a payment intent with setup_future_usage for a card_present transaction but generated_card param is null
pi_3RiahsJFieew03j412lLiy37 this is an example
thanks!
Hmm it doesnt look like this is a wallet-based card, which is expected to not give you a generated card, but if i recall this sometimes isn't support for others cards too
no, its a normal test card
Can you share a code snippet showing where you trigger payment method collection / processing, either in server driven code or client sdk code?
collection is made by s700 sdk
Terminal.getInstance().collectPaymentMethod
(
paymentIntent,
object : PaymentIntentCallback {
override fun onSuccess(paymentIntent: PaymentIntent) {
continuation.resume(paymentIntent)
}
override fun onFailure(e: TerminalException) {
continuation.resumeWith(Result.failure(e))
}
},
CollectConfiguration.Builder().skipTipping(false).build()
)
Ok, i think you need to include the allow_redisplay: 'always' parameter that is required for this as of March 31: https://docs.stripe.com/terminal/features/saving-payment-details/save-after-payment?terminal-sdk-platform=android#collect-payment-method
val config = new CollectConfiguration.Builder()
**.setAllowRedisplay(AllowRedisplay.ALWAYS)**
.build();
thanks, will try that...
are you sure that method exists?
i'm using latest terminal core: stripeterminal-version = "3.3.0"
setAllowRedisplay doesnt exists
Hmm
Ah yes, it looks like this is a mandatory upgrade in order to continue using saved cards
still generated_card is null
pi_3Ric2CJFieew03j40KRD9fVK
Terminal.getInstance().collectPaymentMethod(
paymentIntent,
object : PaymentIntentCallback {
override fun onSuccess(paymentIntent: PaymentIntent) {
continuation.resume(paymentIntent)
}
override fun onFailure(e: TerminalException) {
continuation.resumeWith(Result.failure(e))
}
},
CollectConfiguration.Builder()
.skipTipping(false)
.setAllowRedisplay(AllowRedisplay.ALWAYS)
.build()
)
}
I see a generated card in the confirm request response for that payment intent actually: https://dashboard.stripe.com/test/logs/req_ct5pOiHPgNeBWt
So i think this update worked, but I'm not sure where you're looking that you still see it missing
looking at the paymentIntent.latest_charge.payment_method_details
{
card_present: {
amount_authorized: 200,
brand: 'visa',
brand_product: null,
capture_before: 1752411983,
cardholder_name: 'CARDHOLDER/VISA',
country: 'US',
description: 'Visa Purchasing',
emv_auth_data: '8A023030',
exp_month: 3,
exp_year: 2023,
fingerprint: 'ZQVm6jltbQ2qcNO0',
funding: 'credit',
generated_card: null,
incremental_authorization_supported: false,
issuer: 'Celtic Bank',
last4: '9969',
network: 'visa',
network_transaction_id: '908186109541061',
offline: { stored_at: null, type: null },
overcapture_supported: false,
preferred_locales: [ 'en' ],
read_method: 'contactless_emv',
receipt: {
account_type: 'credit',
application_cryptogram: 'DFA95E1628B155E4',
application_preferred_name: 'Stripe Credit',
authorization_code: '123456',
authorization_response_code: '3030',
cardholder_verification_method: 'approval',
dedicated_file_name: 'A000000003101001',
terminal_verification_results: '0000000000',
transaction_status_information: '0000'
}
},
type: 'card_present'
}
Did you retrieve that after confirmation succeeded?
NP! Glad thats working for you ๐