Bank Transfer in United Kingdom

Features #

Support Country/RegionUnited Kingdom
processing currencyGBP
settlement currencyGBP
refund
partial refund
multiple partial refund
chargeback

Integration Method #

Payment method enumeration values: bank_transfer_uk

There are two integration methods for bank transfer

  1. Direct API
  2. Checkout

Direct API #

Payment flow #

  1. For direct API integration, after creating payment intent by OpenAPI, customers will be redirected to Bank Transfer page
1280X1280.PNG
  1. After completing local bank transfers and clicking “I’ve completed payment” , customers will see “payment is being processed”, and then be redirected to return_url
1280X1280 (1).PNG

How to integration #

For direct API integration, you can create a PaymentIntent and get url in only one step. The following is the demo of creating payment intent:

Create a PaymentIntent

Create a PaymentIntent on your server and specify the amount to collect and a supported currency.

For Bank Transfer, notably , you also need to collect the customer’s name, country and email in payment_method_data.billing_details.

If you have an existing Payment Intents integration, add bank_transfer_uk to the list of payment method types.

Request

{
    "amount":1000,
    "currency":"GBP",
    "confirm":true,
    "payment_method_data" : {
        "type":"bank_transfer_eu",
        "billing_details":{
            "address": {
                "line1": "XX mansion",
                "line2": "XX Town",
                "city": "city",
                "state": "California",
                "country": "GB",
                "postal_code": "55555"

            },
            "name": "Tom Elis",
            "email": "E298483@Gmail.com"
        }
    },
    "quantity": 2,
    "merchant_user_id": "123456",
    "merchant_order_id": "Order112344343",
    "return_url":"https://your.website"
}

response

{
    "id": "pi_1661558941487726592",
    "object": "payment_intent",
    "created": 1684981497000,
    "currency": "GBP",
    "amount": 1000,
    "status": "requires_action",
    "description": "product description",
    "livemode": false,
    "quantity": 2,
    "merchant_user_id": "123456",
    "merchant_order_id": "Order112344343",
    "client_secret": "pi_1661558941487726592_secret_g4Xl2kP98fwFD5x4HSVyK0Rm",
    "next_action": {
        "type": "bank_transfer_uk_handle_redirect",
        "bank_transfer_uk_handle_redirect": {
            "url": "https://pay-sandbox.tazapay.com/marketplace/paymentdetails/8t0-UMIIGKyeiECODNFV6ldbGjpumbMOsbqpmuw7sg8NXjQ_B_YxmEXSnr_nHAeZ"
        }
    },
    "payment_method_types": [
        "bank_transfer_uk",
        "bank_transfer_eu",

    ],
    "confirmation_method": "automatic",
    "return_url": "https://your.website",
    "payment_method": "pm_1661558941370286080",
    "capture_method": "automatic"
}

Checkout #

Payment flow #

  1. Customer selects bank transfer from the list of payment methods available and fills in payment information
611075ae-2cb2-4d1a-ae06-b518ff727004.png
  1. Customers send money to local bank account
80e1c75e-5d6a-4370-82c3-7281301d8129.png
  1. After making local bank transfers and clicking “I’ve completed payment” , the page will show customers that the payment is being processed and then be redirected to return_url
90414529-4ad2-444a-b4ec-8ddc4ed0972a.png

Create a Session #

Request

{
    "cancel_url": "www.wooshpay.com",
    "mode": "payment",
    "success_url": "https://wooshpay.com/",
    "payment_method_types": [
        "bank_transfer_eu",
        "bank_transfer_uk"
    ],
    "line_items": [
        {
            "price_data": {
                "currency": "EUR",
                "product": null,
                "unit_amount": 100000,
                "active": true,
                "metadata": {
                    "key1": "value1",
                    "key2": "value2"
                },
                "nickname": "apple",
                "product_data": {
                    "id": null,
                    "name": "apple",
                    "active": true,
                    "description": "yummy yummy",
                    "url": "www.wooshpay.com"
                },
                "billing_scheme": "testscheme",
                "lookup_key": "test_lookup_key"
            },
            "quantity": 1
        }
    ]
}

Response

{
    "id": "cs_1661288382405279744",
    "object": "checkout.session",
    "created": 1684916990000,
    "currency": "EUR",
    "customer": "",
    "mode": "payment",
    "livemode": false,
    "status": "open",
    "url": "https://checkouttest.wooshpay.com/pay/cs_test_1661288382405279744?key=pk_test_NTE2NTc5NDIzMjU1MzM0Nzg5MTMxOjMzb1M2aUVkNkNvalZPRE1nTW5ITDhYcDE2ODQxMTkyMjgzMTQ",
    "cancel_url": "www.wooshpay.com",
    "line_items": {
        "object": "list",
        "data": [
            {
                "id": "li_1661288382443028480",
                "object": "item",
                "currency": "EUR",
                "description": "apple",
                "price": {
                    "id": "price_1661288382476582912",
                    "object": "price",
                    "created": 1684916990000,
                    "active": true,
                    "currency": "EUR",
                    "metadata": {
                        "key1": "value1",
                        "key2": "value2"
                    },
                    "nickname": "apple",
                    "product": {
                        "id": "prod_1661288382493360128",
                        "object": "product",
                        "created": 1684916990000,
                        "active": true,
                        "description": "yummy yummy",
                        "name": "apple",
                        "livemode": false,
                        "url": "www.wooshpay.com",
                        "updated": 1684916990000
                    },
                    "type": "one_time",
                    "livemode": false,
                    "unit_amount": 100000,
                    "billing_scheme": "per_unit",
                    "lookup_key": "test_lookup_key"
                },
                "quantity": 1,
                "amount_subtotal": 100000,
                "amount_total": 100000
            }
        ]
    },
    "payment_intent": "pi_1661288382682103808",
    "payment_method_types": [
        "bank_transfer_eu",
        "bank_transfer_uk"
    ],
    "payment_status": "unpaid",
    "success_url": "https://wooshpay.com/",
    "amount_subtotal": 100000,
    "amount_total": 100000,
    "billing_address_collection": "auto",
    "expires_at": 1685003390272,
    "payment_link": "",
    "client_secret": "pi_1661288382682103808_secret_VNK78femqxwsDZbKCRRKvQHR"
}

Next step #

You can add more features to your integration as needed

Create a Webhook #

Listen to events on your WooshPay account so your integration can automatically trigger reactions. Create a webhook that mainly focuses on enabled_events and url.

What are your feelings
Updated on August 8, 2023