Accept an Afterpay or Clearpay payment (2024)

Caution

Stripe automatically presents your customers payment method options by evaluating their currency, payment method restrictions, and other parameters. We recommend that you configure your payment methods from the Stripe Dashboard using the instructions in Accept a payment.

If you want to continue manually configuring the payment methods you present to your customers with Checkout, use this guide. Otherwise, update your integration to configure payment methods in the Dashboard.

Afterpay is a single use, immediate notification payment method that requires customers to authenticate their payment. Customers are redirected to the Afterpay site, where they agree to the terms of an installment plan. When the customer accepts the terms, Afterpay guarantees that the funds are available to the customer and transfers the funds to your Stripe account. The customer repays Afterpay directly over time.

Note

Before you start the integration, make sure your account is eligible for Afterpay by navigating to your Payment methods settings.

Determine compatibility

A Checkout Session must satisfy all of the following conditions to support Afterpay payments:

  • You can only use one-time line items (recurring subscription plans are not supported).
  • You must express Prices in your domestic currency.
  • Shipping addresses must be provided.
Accept a payment

Use this guide to learn how to enable Afterpay—it shows the differences between accepting a card payment and using Afterpay.

Enable Afterpay as a payment methodAccept an Afterpay or Clearpay payment (3)

When creating a new Checkout Session, you need to:

  1. Add afterpay_clearpay to the list of payment_method_types.
  2. Make sure all your line_items use your domestic currency.
  3. Collect shipping addresses by adding your country to shipping_address_collection[allowed_countries]. If you don’t collect shipping addresses with Checkout, provide the shipping address using payment_intent_data[shipping].

Stripe::Checkout::Session.create({ mode: 'payment', payment_method_types: ['card'], payment_method_types: ['card', 'afterpay_clearpay'], line_items: [{ price_data: { currency: 'usd', product_data: { name: 'T-shirt', }, # Make sure the total amount fits within Afterpay transaction amount limits: # https://stripe.com/docs/payments/afterpay-clearpay#collection-schedule unit_amount: 2000, }, quantity: 1, }], shipping_address_collection: { # Specify which shipping countries Checkout should provide as options for shipping locations allowed_countries: ['AU', 'CA', 'GB', 'NZ', 'US'], }, # If you already have the shipping address, provide it in payment_intent_data: # payment_intent_data: { # shipping: { # name: 'Jenny Rosen', # address: { # line1: '1234 Main Street', # city: 'San Francisco', # state: 'CA', # country: 'US', # postal_code: '94111', # }, # }, # }, success_url: 'https://example.com/success', cancel_url: 'https://example.com/cancel', })

Fulfill your ordersAccept an Afterpay or Clearpay payment (4)

Use a method such as webhooks to handle order fulfillment, instead of relying on your customer to return to the payment status page.

The following events are sent when the payment status changes:

Event NameDescriptionNext steps
checkout.session.completedThe customer successfully authorized the payment by submitting the Checkout form.Wait for the payment to succeed or fail.
payment_intent.succeededThe customer’s payment succeeded. The PaymentIntent transitions to succeeded.Fulfill the goods or services that the customer purchased.
payment_intent.payment_failedThe customer’s payment was declined, or failed for some other reason. The PaymentIntent returns to the requires_payment_method status.Email the customer to request that they place a new order.

Learn more about fulfilling orders.

Test your integration

When testing your Checkout integration, select Afterpay as the payment method and click the Pay button.

Test your Afterpay integration with your test API keys by viewing the redirect page. You can test the successful payment case by authenticating the payment on the redirect page. The PaymentIntent will transition from requires_action to succeeded.

To test the case where the user fails to authenticate, use your test API keys and view the redirect page. On the redirect page, click Fail test payment. The PaymentIntent will transition from requires_action to requires_payment_method.

For manual capture PaymentIntents in testmode, the uncaptured PaymentIntent will auto-expire 10 minutes after successful authorization.

Failed payments

Afterpay takes into account multiple factors when deciding to accept or decline a transaction (for example, length of time buyer has been using Afterpay, outstanding amount customer has to repay, value of the current order).

You should always present additional payment options such as card in your checkout flow, as Afterpay payments have a higher rate of decline than many payment methods. In these cases, the PaymentMethod is detached and the PaymentIntent object’s status automatically transitions to requires_payment_method.

For an Afterpay PaymentIntent with a status of requires_action, customers need to complete the payment within 3 hours after you redirect them to the Afterpay site (this doesn’t apply to declined payments). If they take no action within 3 hours, the PaymentMethod detaches and the object status for the PaymentIntent automatically transitions to requires_payment_method.

In these cases, inform your customer to try again with a different payment option presented in your checkout flow.

Error codes

These are the common error codes and corresponding recommended actions:

Error CodeRecommended Action
invalid_amount_too_smallEnter an amount within Afterpay’s default transactions limits for the country.
invalid_amount_too_largeEnter an amount within Afterpay’s default transactions limits for the country.
payment_intent_invalid_currencyEnter the appropriate currency. Afterpay only supports domestic transactions.
missing_required_parameterCheck the error message for more information about the required parameter.
nonexistent_countryEnter a valid two-letter ISO country code for the country property in the shipping and billing details.
payment_intent_redirect_confirmation_without_return_urlProvide a return_url when confirming a PaymentIntent with Afterpay.

See alsoAccept an Afterpay or Clearpay payment (8)

  • More about Afterpay
  • Checkout fulfillment
  • Customizing Checkout
Accept an Afterpay or Clearpay payment (2024)
Top Articles
Unblocked Game - Play online at Coolmath Games
Top 12 Poorest Counties In Texas [2023] - Texas Today
Using GPT for translation: How to get the best outcomes
Trevor Goodwin Obituary St Cloud
Pieology Nutrition Calculator Mobile
Craigslist Portales
Victoria Secret Comenity Easy Pay
Cube Combination Wiki Roblox
Ktbs Payroll Login
Weekly Math Review Q4 3
Burn Ban Map Oklahoma
800-695-2780
Colorado mayor, police respond to Trump's claims that Venezuelan gang is 'taking over'
Trac Cbna
Video shows two planes collide while taxiing at airport | CNN
R Personalfinance
Healthier Homes | Coronavirus Protocol | Stanley Steemer - Stanley Steemer | The Steem Team
Juicy Deal D-Art
Shiftselect Carolinas
Baja Boats For Sale On Craigslist
Japanese Mushrooms: 10 Popular Varieties and Simple Recipes - Japan Travel Guide MATCHA
European Wax Center Toms River Reviews
Saxies Lake Worth
When His Eyes Opened Chapter 3123
Vht Shortener
How rich were the McCallisters in 'Home Alone'? Family's income unveiled
Housing Intranet Unt
Halsted Bus Tracker
Otis Offender Michigan
Smartfind Express Henrico
Orangetheory Northville Michigan
How to Play the G Chord on Guitar: A Comprehensive Guide - Breakthrough Guitar | Online Guitar Lessons
Lyca Shop Near Me
Trap Candy Strain Leafly
Hometown Pizza Sheridan Menu
Sdn Fertitta 2024
Walgreens On Secor And Alexis
Hawkview Retreat Pa Cost
Unblocked Games - Gun Mayhem
Accident On 40 East Today
Aloha Kitchen Florence Menu
60 Second Burger Run Unblocked
Greg Steube Height
Helpers Needed At Once Bug Fables
Sj Craigs
Parks And Rec Fantasy Football Names
Bumgarner Funeral Home Troy Nc Obituaries
Cool Math Games Bucketball
Yoshidakins
Latest Posts
Article information

Author: Kerri Lueilwitz

Last Updated:

Views: 6473

Rating: 4.7 / 5 (47 voted)

Reviews: 94% of readers found this page helpful

Author information

Name: Kerri Lueilwitz

Birthday: 1992-10-31

Address: Suite 878 3699 Chantelle Roads, Colebury, NC 68599

Phone: +6111989609516

Job: Chief Farming Manager

Hobby: Mycology, Stone skipping, Dowsing, Whittling, Taxidermy, Sand art, Roller skating

Introduction: My name is Kerri Lueilwitz, I am a courageous, gentle, quaint, thankful, outstanding, brave, vast person who loves writing and wants to share my knowledge and understanding with you.