Bank Transfer in Europe

Features #

Support Country/RegionEurope
processing currencyEUR
settlement currencyEUR
refund
partial refund
multiple partial refund
chargeback

*Support Country/Region in Europe:

Austria, Belgium, Bulgaria, Cyprus, Czech Republic, Denmark, Estonia, Finland, France, Germany, Greece, Hungary, Ireland, Italy, Latvia, Lithuania, Luxembourg, Malta, Netherlands, Poland, Portugal, Romania, Slovakia, Spain, Sweden, Norway, Liechtenstein, Iceland, Switzerland, Monaco

Integration Method #

Payment method enumeration values: bank_transfer_eu

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
output.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
output (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_eu 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
output (2).png
  1. Customers send money to local bank account
output (3).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
output (4).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