Developer API Documentation

Integrate our payment aggregator APIs into your application seamlessly.

1. Base URL & Authentication

All API requests should be made to the following Base URL:

https://bickapay.com

You must include your API Key in the headers of all requests. You can find your API Keys in the API Configuration section.

X-API-KEY: {YOUR_PUBLIC_KEY}
Optional HMAC SHA256 Signature for extra security:
X-API-TIMESTAMP: {UNIX_TIMESTAMP}
X-API-SIGNATURE: hash_hmac('sha256', payload + timestamp, secret_key)
2. Create Payment (Payin)

Use this endpoint to generate a payment link/order for your customers.

POST https://bickapay.com/api/payment/create

Request Body (JSON)
Field Type Required Description
amountFloatYesThe amount to be collected (e.g. 100.00)
order_idStringYesYour system's unique order ID
methodStringNoPayment method (e.g. 100, 101, default is other)
customer_nameStringNoCustomer's full name
customer_emailStringNoCustomer's email address
customer_phoneStringNoCustomer's phone number
return_urlStringNoURL to redirect the user after payment

Response: Returns the payment_url to redirect your customer.

3. Payment Status Check

Use this endpoint to manually check the status of a payment.

GET https://bickapay.com/api/payment/status

Query Parameters
Field Type Required Description
order_idStringYesYour system's order ID (or our transaction_id)
4. Create Payout

Use this endpoint to disburse funds to a user's bank account or wallet.

POST https://bickapay.com/api/payout/create

Request Body (JSON)
Field Type Required Description
amountFloatYesThe amount to be disbursed
payee_nameStringYesRecipient's Name
payee_accountStringNoRecipient's Bank Account No / Wallet ID
modeStringNoPayout mode (e.g. bank_transfer)
bank_codeStringNoBank Code (e.g. ABB, required for some gateways)
referenceStringNoYour internal reference ID
5. Channel/Method Codes

When creating a Payin or Payout, you can pass one of the following unified method codes in the method or mode parameter. This will automatically route the transaction to the specific gateway and payment channel.

Code Category Payment Method / Gateway
100Bangladesh Version 1bKash
101Bangladesh Version 1Nagad
102Bangladesh Version 1Rocket
6. Webhooks (Callbacks)

We will send a POST request to your configured Webhook URL when a transaction succeeds or fails. You can set the Webhook URL in your API Keys section.

Event payload example:

{
  "event": "payment.success",
  "transaction_id": "txn_xxxxxx",
  "order_id": "your_order_id_123",
  "amount": 100.00,
  "status": "success",
  "method": "100",
  "timestamp": "2024-01-01T12:00:00Z"
}

Always secure your webhook endpoint and verify the transaction status if needed.