Bank Transfer in Indonesia

Features #

Support Country/RegionIndonesia
processing currencyIDR
settlement currencyUSD
Maximum transaction amountNo Transaction Limit depends on users balance.
refund
partial refund
multiple partial refund
chargeback

Payment flow #

pic_1@2x.png

Integration Method #

Payment method enumeration values: bank_transfer_id

There are two integration methods for bank transfer

  1. Direct API
  2. Checkout

Direct API #

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.

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

Request

{
    "amount": 1000000,
    "currency": "IDR",
    "confirm": true,
    "payment_method_data": {
        "type": "bank_transfer_id"
    },
    "return_url": "https://your.website"
}

response

{
    "id": "pi_1664204164491640832",
    "object": "payment_intent",
    "created": 1685612167000,
    "currency": "IDR",
    "amount": 1000000,
    "status": "requires_action",
    "livemode": false,
    "client_secret": "pi_1664204164491640832_secret_0lq3zf45XA4nCXR5ASyKh5UB",
    "next_action": {
        "type": "bank_transfer_id_handle_redirect",
        "bank_transfer_id_handle_redirect": {
            "url": "https://apitest.wooshpay.com/v1/receives/c12/pay/pi_1664204164491640832"
        }
    },
    "payment_method_types": [
        "bank_transfer_id"

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

Checkout #

Create a seesion #

Request

{
    "cancel_url": "www.wooshpay.com",
    "mode": "payment",
    "success_url": "https://wooshpay.com/",
    "payment_method_types": [
        "bank_transfer_id"
    ],
    "line_items": [
        {
            "price_data": {
                "currency": "IDR",
                "unit_amount": 10000000,
                "nickname": "apple",
                "product_data": {
                    "name": "apple"
                },
                "billing_scheme": "testscheme",
                "lookup_key": "test_lookup_key"
            },
            "quantity": 1
        }
    ]
}

Response

{
    "id": "cs_1676152166701596672",
    "object": "checkout.session",
    "created": 1688460793000,
    "livemode": true,
    "currency": "IDR",
    "customer": "",
    "mode": "payment",
    "status": "open",
    "url": "https://checkout.wooshpay.com/pay/cs_1676152166701596672?key=pk_live_NTE2NzQzMzE3MjI5MzU4MzI1NzYxOjdWSld1WmpGd1dJZ3BLNHQyOU9UTVJvWTE2ODgwMjY3NjUwNDU",
    "cancel_url": "www.wooshpay.com",
    "line_items": {
        "object": "list",
        "data": [
            {
                "id": "li_1676152166739345408",
                "object": "item",
                "currency": "IDR",
                "description": "apple",
                "price": {
                    "id": "price_1676152166756122624",
                    "object": "price",
                    "created": 1688460793000,
                    "livemode": true,
                    "active": true,
                    "currency": "IDR",
                    "nickname": "apple",
                    "product": {
                        "id": "prod_1676152166772899840",
                        "object": "product",
                        "created": 1688460793000,
                        "livemode": true,
                        "active": true,
                        "name": "apple",
                        "updated": 1688460793000
                    },
                    "type": "one_time",
                    "unit_amount": 10000000,
                    "billing_scheme": "per_unit",
                    "lookup_key": "test_lookup_key"
                },
                "quantity": 1,
                "amount_subtotal": 10000000,
                "amount_total": 10000000
            }
        ]
    },
    "payment_intent": "pi_1676152166986809344",
    "payment_method_types": [
        "bank_transfer_id"
    ],
    "payment_status": "unpaid",
    "success_url": "https://wooshpay.com/",
    "amount_subtotal": 10000000,
    "amount_total": 10000000,
    "billing_address_collection": "auto",
    "expires_at": 1688547192604,
    "payment_link": "",
    "client_secret": "pi_1676152166986809344_secret_12UeqK1EhVKoXfZrQoK0FBcv"
}

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