#zishaansunderji-terminal
1 messages · Page 1 of 1 (latest)
Yeah for sure! This is the payment intent ID: pi_3K4GCVG9SJKhrigu0IrtWJB3
So I get a similar message with the error code 31 with the message "The interac_present source type with currency cad is not supported."
I see, I noticed that you are using ['card'] as the payment_method_types when creating this payment_intent, can you change it to ['card_present'] instead?
can you send me the new payment intent ID?
private fun getPaymentParams(options: ReadableMap?): PaymentIntentParameters.Builder {
val paymentMethodTypes: MutableList<PaymentMethodType> = ArrayList()
// paymentMethodTypes.add(PaymentMethodType.CARD)
paymentMethodTypes.add(PaymentMethodType.CARD_PRESENT)
if (isCanada) {
// paymentMethodTypes.add(PaymentMethodType.INTERAC_PRESENT)
}
val paymentIntentParamBuilder = PaymentIntentParameters.Builder(paymentMethodTypes.toImmutableList())
// We setup everything for future usage to get the card information
paymentIntentParamBuilder.setSetupFutureUsage("off_session")
...
}
This is my code btw
so it didn't make a payment intent this time
Did you get an error or something?
yupp
{"code": 31, "error": "The card_present source type with currency cad is not supported."}
I got the same error as last time
So you get an error when creating this payment intent?
yeah exactly
it doesn't seem to like card_present - but then if I don't use card_present it declines my card
same thing with interac_present (even though everything from the stripe connect id to the currency) is Canadian
and I'm not exactly sure why
Please give me a while, I am still working on this
yeah no rush! thanks for taking the time!!
I see - so we can't have a US Stripe Account sending to a Canadian account?
Sorry I found something might help you
And in terms of the flags - for the US it seems like card, card_present work fine everywhere in the terminal - for Canada will card, card_present, interact_present work?
oh looking into this now
Can you use the on_behalf_of parameter?
So I would set on_behalf_of to the Canadian Stripe Account that we have?
We do have both - we've just set everything up in the US account temporarily
Yes, use this param where the platform country and account country are different
gotcha! And the on_behalf_of would still be our stripe account id being we're using connected accounts (just from the Canadian side)?
You can set on_behalf_of to the CA merchant account ID
it is the same ID you set in the transfer_data.destination when creating the payment intent
oh I see so by specifying the on_behalf_of with the transfer_data.destination stripe will let the transaction go through to connect accounts of different countries?
Yes 🙂
Awesome 🙂
Also be aware that using the on_behalf_of will change the MoR (merchant on record), so the credit card bill will display the connected account's name instead of platform name
One last question, is it [card, card_present] for the US and [card, card_present, interac_present] for CA?
gotcha! Sounds good!
That works fine for us!
and sorry, one final question as well, is there any consequences to always pass in the on_behalf_of besides the MoR being different? That's a two fold question - one - will it break if it is from US account to US connect account, or CA account to CA connected account - and two- will our application fee amount and stuff work just fine as well?
Yes interac_present is a payment method for CA, you can learn more about regional considerations here https://stripe.com/docs/terminal/payments/regional
okay awesome! Those will be my flags for Canada
So these are the effects when using the on_behalf_of flag
- Settles charges in the country of the specified account, thereby minimising declines and avoiding currency conversions.
- Uses the fee structure for the connected account’s country.
- Lists the connected account’s address and phone number on the customer’s credit card statement, as opposed to the platform’s address and phone number (only occurs if the account and platform are in different countries).
https://stripe.com/docs/terminal/features/connect#destination-payment-intents
It also works for connected accounts in the same country as platform. Btw the application is in the same currency of the charge amount. I.e., if you are charging in CAD, the applciation_fee will be in CAD as well.