No momento, esta página não está disponível em português
Payment-method icon

Afterpay Component

Add Afterpay to your existing Components integration.

This page explains how to add Afterpay to your existing Web Components integration.

Requirements

Select the server-side flow that your integration uses:

When making an Afterpay payment, you also need to:

  1. Collect shopper details, and specify these in your payment request. Afterpay uses these for risk checks.
  2. Provide information about the purchased items.
  3. Make sure that you use a supported combination of country/region and currency.

API reference

Select which endpoint you are using:

Component configuration

Step 1: Create a DOM element

Create a DOM element on your checkout page, placing it where you want the payment method form to be rendered:

 <div id="afterpaytouch-container"></div>

Step 2: Create an instance of the Component

v6.0.0 or later

Create an instance of the Component, passing:

  • Your instance of AdyenCheckout.
const afterpaytouch = new Afterpay(checkout).mount('#afterpaytouch-container');

Use the create method of your AdyenCheckout instance, in this case checkout, to create the Component:

const afterpaytouchComponent = checkout.create('afterpaytouch').mount('#afterpaytouch-container');

Pre-filled shopper data

You can add configuration with the shopper's company and personal information to pre-fill the payment form.

The data property includes the following information that you can pre-fill:

Property Description Data type
companyDetails.name The registered name of the company. String
companyDetails.registrationNumber The official business registration number. String
personalDetails.firstName The shopper's first name. String
personalDetails.lastName The shopper's last name. String
personalDetails.shopperEmail The shoppers' email address. String
billingAddress.street The street name for the billing address. String
billingAddress.houseNumberOrName The house number or name for the billing address. String
billingAddress.postalCode The postal code for the billing address. String
billingAddress.city The city for the billing address. String
billingAddress.country The two-character ISO 3166-1 alpha-2 country code for the billing address. String
deliveryAddress.street The street name for the delivery address. String
deliveryAddress.postalCode The postal code for the delivery address. String
deliveryAddress.city The city for the delivery address. String
deliveryAddress.country The two-character ISO 3166-1 alpha-2 country code for the delivery address. String

If you do not have pre-filled data, you can instead get the information from the shopper in the payment form.

Payment form fields configuration

In the payment form, you can configure if groups of fields are visible or can be edited by the shopper.

Use the visibility property to configure groups of fields with the possible values:

  • hidden: The fields do not show up in the payment form.
  • readOnly: The fields show up in the payment form with the pre-filled values. The shopper cannot change the values. If you set any group of fields with this value, you must provide the corresponding information in the pre-filled object.
  • editable: The fields show up in the payment form with the pre-filled values. The shopper can change the values.
Fields Default value
companyDetails editable
personalDetails editable
billingAddress editable
deliveryAddress editable

Capture the payment

Depending on your merchant account configuration, Afterpay payments are captured automatically after authorisation, or manually captured. If you prefer to capture the payment after the goods have been sent, you need to set up a capture delay or use manual capture. To partially capture a payment, you also need to use manual capture.

Afterpay payments have to be captured within 13 days after authorisation.

During authorisation, the shopper is charged for the first installment. If the payment is not captured within 13 days, before the second installment, Afterpay cancels the payment and refunds the first installment to the shopper.

For testing purposes, Afterpay authorisations expire in one day. When you use manual capture, you need to capture test Afterpay payments within one day after authorisation.

Full or partial manual captures

When you use manual capture, in your /payments/{paymentPspReference}/captures request specify:

  • amount.value: the full or partial amount that the shopper should pay.
  • lineItems: (optional) price and product information for the items that the shopper should pay for.

Any unclaimed amount that is left over after partially capturing a payment is automatically cancelled. When your account is enabled for multiple partial captures, the unclaimed amount after an initial capture is not automatically cancelled.

To set up multiple partial captures, contact our Support Team. Multiple partial captures will create a new invoice for each capture.

Refunds and cancellations

If a payment has not yet been captured, you can cancel it. If a payment has already been captured and you want to return the funds to the shopper, you need to refund the payment.

Full or partial refunds

To fully or partially refund a payment, in your /payments/{paymentPspReference}/refunds request specify:

  • amount.value: the full or partial amount to be refunded to the shopper.
  • lineItems: (optional) price and product information about the refunded items.

Discounts

To offer discounts, your payment request must include the negative amount to be added to the original price. The following example shows how to specify a discount of 1 AUD on Item #2:

{
  "amount":{
     "value":800,
     "currency":"AUD"
  },
  ...
  "lineItems":[

     {
        "description":"Test Afterpay 1",
        "quantity":"1",
        "amountIncludingTax":"400",
        "id":"Item #1"
     },
     {
        "description":"Test Afterpay 2",
        "quantity":"2",
        "amountIncludingTax":"300",
        "id":"Item #2"
     }

     {
        "description":"Discount",
        "quantity":"2",
        "amountIncludingTax":"-100",
        "id":"Item #2 Discount"
     }
  ]
}

Test and go live

To test Afterpay payments, you need a test shopper account in the Afterpay sandbox environment. If you are testing in multiple countries or regions, create a different test account for each.

To create a test account:

  1. Go to https://portal.sandbox.afterpay.com/.
  2. Enter a real email address and select Continue. You'll get confirmations of payments and refunds like any other shopper on this email address.
  3. From the drop-down menu, select the country/region for which you want to create a test shopper account. Select Australia, New Zealand, US, or Canada.
  4. Enter a unique mobile number in the correct format and select Continue. Ensure the number is not associated with an existing account to avoid being redirected to a login page.
  5. When you are prompted to enter your SMS verification code, enter 111111.
  6. Follow the instructions on your screen to complete your profile, accept the terms and conditions, and select Continue.

To test payments, add a test card to your Afterpay test shopper account.

You can use the card details provided in the Afterpay developer documentation, or use one of the Adyen test cards. Use CVV 000 to simulate authorised payments, or CVV 051 to simulate refused payments.

You can check the status of test payments in your Customer Area > Transactions > Payments.

Before you can accept live Afterpay payments, you need to submit a request for Afterpay in your live Customer Area.

See also