Skip to main content
Afterpay is a buy now, pay later (BNPL) payment method that allows buyers to split purchases into interest-free installments. Afterpay uses a redirect flow where the buyer approves the payment on the Afterpay hosted page.

Setup

Speak to the Afterpay account manager to obtain sandbox credentials for the region.

Credentials

When setting up Afterpay in the dashboard, configure the following credentials:
  • Merchant ID - The merchant ID provided by Afterpay during setup.
  • Secret key - The secret key provided by Afterpay during setup.

Features

Afterpay supports the following features:
  • Delayed capture - Authorize a payment and capture it at a later time
  • Partial capture - Capture a portion of the authorized amount
  • Partial refunds - Refund a portion of the captured amount
  • Refunds - Refund transactions in full
  • Void - Cancel an authorized transaction before capture

Supported countries

Afterpay supports transactions from buyers in the following countries:
Country codeCountry codeCountry codeCountry codeCountry codeCountry codeCountry codeCountry code
AUCANZUS

Supported currencies

Afterpay supports processing payments in the following currencies:
Currency codeCurrency codeCurrency codeCurrency codeCurrency codeCurrency codeCurrency codeCurrency code
AUDCADNZDUSD

Limitations

The following features are not supported by this connector:
  • Payment method tokenization - Storing payment methods for future use is not supported
  • Zero auth - Zero-dollar verification transactions are not supported
  • Over capture - Capturing more than the authorized amount is not supported
  • Partial authorization - Accepting a partial amount when the full amount cannot be authorized is not supported
  • Network tokens - Network tokenization is not supported
  • 3-D Secure - 3DS authentication is not applicable
  • Transaction sync - Automatic transaction status synchronization is not supported
  • Settlement reporting - Automatic settlement reporting is not supported

Integration

The default integration for Afterpay uses a redirect to a hosted payments page. Start by creating a new transaction with the following required fields.
var transaction = await client.Transactions.CreateAsync(
  transactionCreate: new TransactionCreate()
  {
    Amount = 1299,
    Currency = "USD",
    Country = "US",
    PaymentMethod =
      TransactionCreatePaymentMethod.CreateCheckoutSessionWithUrlPaymentMethodCreate(
        new RedirectPaymentMethodCreate()
        {
          Method = "afterpay",
          RedirectUrl = "https://example.com/callback",
        }
      ),
  }
);
After the transaction is created, the API response includes a payment_method.approval_url and the status is set to buyer_approval_pending. The approval URL expires after 30 minutes.
{
  "type": "transaction",
  "id": "ea1efdd0-20f9-44d9-9b0b-0a3d71e9b625",
  "payment_method": {
    "type": "payment-method",
    "approval_url": "https://cdn.gr4vy.com/connectors/..."
  },
  "method": "afterpay"
}
Redirect the buyer to the approval_url (open in a browser or Webview), where they can complete the payment. Once the buyer approves, the transaction progresses to an authorization_succeeded or capture_succeeded state.