Charge + store credentials
Learn how to collect an upfront payment and store credentials for future use via Hosted Checkout
Use this for: scenarios where you want to collect an initial payment and also store the customer’s credentials for future use. This includes recurring payments via Card, Apple Pay, Google Pay, or Pay by Bank (VRP).
This setup is commonly used by merchants who:
- Charge the customer upfront (e.g. first month of a subscription, initial repayment)
- Automatically set up recurring billing after the initial payment
Charging & Storing Credentials for Future Use
For this scenario:
transaction.amountmust be greater than0is_recurringmust be set totrue- A
customer_idmust be supplied in yourpayment-linksAPI request so that the stored payment method can be linked to a specific customer record in Acquired.com's system.
Learn more about creating customer records here: Creating New Customers
Minimum Fields Required (Card, Apple Pay, Google Pay)
The table below highlights the key fields that must be included in your /payment-links API request to enable the Charge + store credentials scenario.
| Field | Type | Required | Description |
|---|---|---|---|
transaction.order_id | string | ✅ | Unique reference assigned by you for the payment request |
transaction.amount | number | ✅ | Must be greater than 0 |
transaction.currency | string | ✅ | Must be set to gbp to offer VRPs via Pay by Bank. Other payment types support additional currencies |
transaction.capture | boolean | ❌ | Set to true to indicate that payment should be taken immediately. If omitted, this field defaults to true. |
is_recurring | boolean | ✅ | Must be set to true to indicate you're storing credentials for future use |
customer.customer_id | string | ✅ | A UUID that identifies the customer in your system. Used to associate stored credentials |
Example Request
The example below shows a valid request to initiate Hosted Checkout for the Charge + store credentials scenario. This setup presents the customer with the option to make an upfront payment while also storing their details for future recurring payments via Apple Pay, Google Pay, and Cards.
{
"transaction": {
"amount": 0,
"order_id": "b81b3424-4f32-4105-9d8b-509c7e170350",
"currency": "gbp",
},
"customer": {
"customer_id": "0197cfbc-56ee-7020-a8c5-281bda28a706"
},
"is_recurring": true
}card_new Webhook
card_new WebhookThe card_new webhook is triggered when a customer's card (or wallet) details are saved during a Hosted Checkout session. When is_recurring is set to true, card details are automatically stored — including in this scenario.
This enables you to process recurring payments with the stored card or wallet in the future.
The webhook includes a card_id, which you should store securely and use for subsequent charges without requiring the customer to re-enter their details.
You can read more about the card_new webhook here: card_new Webhook Details
Example Payload
{
"webhook_type": "card_new",
"webhook_id": "d68a7a29-47ce-43ea-bad3-0e4a35c5f09c",
"timestamp": 1684254231,
"webhook_body": {
"transaction_id": "0e789cf6-7e7a-3c55-870c-e69325975134",
"status": "success",
"order_id": "J97C6572ddt223-952",
"card_id": "77e595b6-686b-724b-6340-6c8ee0123778"
}
}Updated 2 months ago
