Before you begin
This guide assumes that you know how toAccept payments with ACH via Stripe
Prepare the client session
ACH via Stripe requires the following data to process a payment successfully. Pass the following data in the client session, or in the payment request (for manual payment creation).Parameter Name | Required | Description |
---|---|---|
currencyCode | ✓ | 3-letter currency code in ISO 4217 format. For ACH via Stripe, only USD is supported. |
order ↳ lineItems | ✓ | Details of the line items of the order |
metadata | ✓ | In order to have ACH via Stripe successful, you need to pass your device info: IP address and user agent in the metadata.metadata.deviceInfo.ipAddress and metadata.deviceInfo.userAgent |
paymentMethod | ✓ |
JSX
Prepare the SDK for payments
- Web
- iOS
- Android
- React Native
Show Universal Checkout
Pass device info when creating the client session ACH via Stripe requires that a mandate is accepted before the payment is completed.Mandates that are accepted online require IP address and user-agent of the device that the payment is made from.Specify this information when creating the client session, otherwise payments will remain in Pending state.JSON
ACH via Stripe is automatically presented to the customer when calling
Primer.showUniversalCheckout
with the Stripe publishable key set up.Typescript
JSX
Customization
Check the customization guide to learn how to customize payment method buttons.Typescript
Vaulting
When creating client session,vaultOnAgreement
flag should be passed, along with paymentType
:
JSX
Parameter Name | Required | Description |
---|---|---|
customerId | ✓ | A unique identifier for your customer |
- Web
- iOS
- Android
- React Native
Minimum version of Web SDK: 2.47.0.ACH via Stripe payment tokens can be vaulted automatically on successful agreement if the
vaultOnAgreement
flag is turned on when creating the client session.JSX
Test
You can test payments using USD as the currency.Sandbox testing
- After selecting the payment method button in the Checkout, the page will navigate to a form
- After you complete the form, the Stripe pop-up will appear
- After finishing the steps inside the Stripe pop-up, the user will be taken back to the Checkout to confirm / decline mandate
- At the end of this flow, the payment status will be first PENDING in the Primer Dashboard and depending on the user actions or external factors, like insufficient funds in the bank account, it will be either DECLINED, CANCELLED or SETTLED for successful completion in Primer Dashboard
- To simulate the receiving of funds and transition the payment to SETTLED, you can choose in the Stripe pop-up:
Test Institution
andSuccess
account in the next screen. Next you will be taken back to Checkout to confirm the mandate. Primer will receive a webhook and subsequently update the payment to SETTLED.