Links

Bank transfers (beta)

Learn how to accept bank transfers and automatically reconcile them to outstanding invoices.

1. Create a payment method

You'll need to supply the ID of the customer you'd like to attach the payment method.
curl https://api.yorlet.com/v1/payment_methods \
-H "Authorization: Bearer {{API_KEY}}" \
-H "Content-Type: application/json" \
-d '{
"customer": "cus_kowie32023325",
"type": "bank_transfer",
"bank_transfer": {
"type": "gb_bank_account"
}
}'
You will get the following response with the bank_transfer
{
"id": "pm_kd8q8ac0zfJ1ilr5",
"object": "payment_method",
"created": 1596109238,
"bank_transfer": {
"balance": 0,
"country:" "GB",
"type": "gb_bank_account"
},
"billing_details": {
"email": "[email protected]",
},
"currency": "gbp",
"customer": "cus_kcpy8le2liwQBXTt",
"status": "pending",
"type": "bank_transfer"
}

2. Have the customer send funds

When creating a payment method, its status is initially set to pending and cannot yet be used to make a payment request. Your customer must transfer the amount you request so that the necessary funds are available.
You should provide your customer with the bank_transfer[sort_code], the bank_transfer[account_number], and the amount you need the customer to send. Customers then need to create a transfer with their bank, using the information you provide. Bank transfers can take up to two days to complete, but typically complete within a few hours from when the customer sends the funds.

3. Creating payments

When the bank_transfer has status=chargeable you can create a charge against it.
curl https://api.yorlet.com/v1/transactions \
-H "Authorization: Bearer {{API_KEY}}" \
-H "Content-Type: application/json" \
-d '{
"amount": 10000,
"currency": "gbp",
"customer": "{{CUSTOMER_ID}}",
"payment_method": "{{PAYMENT_METHOD_ID}}",
"payment_method_types": ["bank_transfer"]
}'