Skip to content
Last updated

Resources at a glance

FieldDescription
idImmutable ID of the payment request
paymentRequestNoHuman-readable number
totalAmount / currencycodeDeclare the total amount and currency (GBP only supported)
statusSee the guide below on all payment request statuses.
workflowTypeOn demand (card) or Auto Collect
DistributionHow the payment link is used or completed
associationTypeHow are they related to invoices or payment requests
paymentLink.urlA hosted page where the payment can be completed
redirectURIWhere to send the user after the user has completed the payment

Payment Request Lifecycle

Payments requests follow a lifecycle that is represented in the payment.status field of the object.

On Demand

Lifecycle

Auto Collect

Lifecycle

Payments that are activated as AUTO_COLLECT follow a linear state path. Auto collect is a abstraction that uses mandate payment methods to pull the payment from the customers account. In the UK this is direct debit.


How to send a payment request

Create a draft payment request

Endpoint: POST /payment_requests

It will return the following important information (sample)

  • ID of the payment request
  • payment link to use with the user
{
  ...
  "customer": {
    "id": "f492b38c-0de1-4278-9bad-de5fb74961ca "
  },
  "currencyCode": "GBP",
  "distribution": { //Distribution can be specified directly in payment requests or the next step
  "collectionMethod": "ONE_TIME_PAYMENT",
  "customMessage": "Payment for ACME services",
  "templateId": "f2363d28-018a-40de-915d-c0f209b14159 "
  },
  "description": "Payment for ACME service",
  "totalAmount": 100,
  "payByDate": "2025-03-25T11:36:55.243Z"
  ...
}

Optional: Activate the payment request

Endpoint: PUT payment_requests/[id]:activate

Used to activate the payment request. This will trigger any workflows associated with this, including distribution (via email, WhatsApp, etc).

This will activate the workflow defined in the distribution.templateId

  • Redirect the payer from your UI.
  • Paste into email, chat, or a PDF.

Best practices

  1. Always set a redirectUrl so the payer lands back in your platform after completing the payment.
  2. Display amount & description before redirecting—conversion rates improve when payers know the cost.
  3. Monitor lastSeenTime and trigger follow-up emails after 48 hours of inactivity.
  4. Subscribe to payment_request. Paid to mark invoices paid and release goods or services instantly.