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

Setup

Laybuy provides a self-service sign-up for a sandbox account. To sign up, visit the sign-up page.

Credentials

When setting up Laybuy in the dashboard, configure the following credentials. Both values can be found in the Laybuy Admin Portal under Account > API Details.
  • Merchant ID - The Laybuy merchant ID.
  • API Key - The Laybuy API key.

Capabilities

Supported countries

Supported currencies

Limitations

  • Cart items required - Cart items must be included with every transaction and must match the transaction amount.

Required fields

Laybuy requires the following buyer information with every transaction:
  • First name
  • Last name
  • Email address
  • Phone number

Integration

The default integration for Laybuy 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 = "GBP",
    Country = "GB",
    PaymentMethod =
      TransactionCreatePaymentMethod.CreateRedirectPaymentMethodCreate(
        new RedirectPaymentMethodCreate()
        {
          Method = "laybuy",
          Country = "GB",
          Currency = "GBP",
          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": "laybuy"
}
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 a capture_succeeded state.