Features #
Support Country/Region | Europe |
---|---|
processing currency | EUR |
settlement currency | EUR |
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
- Direct API
- Checkout
Direct API #
Payment flow #
- For direct API integration, after creating payment intent by OpenAPI, customers will be redirected to Bank Transfer page
- 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
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 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": "[email protected]"
}
},
"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 #
- Customer selects bank transfer from the list of payment methods available and fills in payment information
- Customers send money to local bank account
- 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
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.