2
votes

I have several related questions about Apple Pay integration with Stripe.

  1. I'am using TEST stripe api key, and in spite of choosing different credit card brands (Amex, Mastercard) on Apple Pay Sheet, after accepting transaction in Stripe Account > Customers I always have user with Apple Pay and Credit card VISA •••• 4242 12/2020. It doesn't have information about credit card?

  2. I collect Apple Pay token and send it to Stripe (exchange for Stripe Token) in Wizard Step N, and make actual charge in Step N+2. Are this Stripe Token is valid to use for any future transactions? Or It wille be invalidated if user come backs to Step N+2 after several hours?

  3. Can I use this Stripe Token saved in point 2. to make future transactions without prompting user again with Apple Pay Sheet. Just use it as Saved Credit Card in Stripe to charge monthly (subscriptions), or charge on demand if users select new item to purchase?

  4. In Application Settings I have Apple Pay button to change credit card that should be saved/used be stripe to make this future payments. Now changing generates new stripe token. However I don't know whether it is correct as I am mentioned in point 1. above there is always VISA •••• 4242 12/2020 card associated with Customer in Stripe Account.

  5. Is this above payment flow in application in any point against Apple Terms Of Services and such app can be rejected by Apple?

1

1 Answers

1
votes
  1. In Stripe's test mode, regardless of the card you select in the Apple Pay dialogue, it is changed to Stripe's 4242 testing card when creating the token, so this is normal, if a little confusing.
  2. The token is only valid for a short amount of time, and can only be used once. As soon as you receive it on your backend server, you should charge it, or attach it to a customer object if you intent to charge the card again.
  3. Yes, you can save the token to a customer as normal and charge it at any time, as mentioned in the link from point 2. There's no Apple Pay distinction here.
  4. Unfortunately yes, because of the explanation in point 1, it's a little tricky to check this, and there's no great way around it that I'm aware of. In live mode, you could check the fingerprints of the cards.
  5. No, I don't see this being against any terms of service in and of itself. But you should be mindful that Apple Pay, and Stripe in general for accepting credit card payments, can not be used for selling in-app items — Apple requires you to use their in-app purchases API for that.[0]

[0] - https://stripe.com/docs/apple-pay/apps#using-stripe-and-apple-pay-vs-in-app-purchases