Skip to Content
docs
B2B PaymentCreate Payment

Create Payment

Initiate a B2B bank transfer to a recipient IBAN.

POST
***

Request Parameters

NameTypeDescription
public_keyRequired
StringMerchant public key.
order_idRequired
StringUnique order identifier generated by the merchant. Returned in the response and used for status tracking.
amountRequired
NumberTransfer amount. Min: `0.01`, Max: `40000`.
descriptionRequired
StringPayment description. Max 255 characters.
ibanRequired
StringRecipient IBAN. Must start with `AZ`. Example: `AZ29ABCD38053AZN00A7100186514`.
nameRequired
StringRecipient name. Max 255 characters.
tinRequired
StringRecipient TIN. 10 digits, last digit `1` (individual) or `2` (legal entity). Example: `1234567891`.
bank_codeRequired
StringRecipient bank code. Example: `505141`.
bank_nameOptional
StringRecipient bank name.
emailOptional
StringRecipient email.
addressOptional
StringRecipient address.
additional_infoOptional
StringAdditional information.
bulk_descriptionOptional
StringBulk payment description.
webhook_urlOptional
StringURL for terminal status notifications.

Request Example

Send Request
Payload
{
"public_key": "YOUR_PUBLIC_KEY",
"order_id": "order-20240430-001",
"amount": "1000.00",
"description": "Advance payment",
"iban": "AZ29ABCD000000000000000000000",
"name": "Technology LLC",
"tin": "1234567891",
"bank_code": "505141",
"bank_name": "Example Bank",
"webhook_url": "https://yoursite.com/webhooks/epoint-b2b-payment"
}
1DATA=$(echo -n '{"public_key":"YOUR_PUBLIC_KEY","order_id":"order-20240430-001","amount":"1000.00","description":"Advance payment","iban":"AZ29ABCD000000000000000000000","name":"Technology LLC","tin":"1234567891","bank_code":"505141"}' | base64)
2SIGNATURE=$(echo -n "$PRIVATE_KEY$DATA$PRIVATE_KEY" | openssl dgst -sha1 -binary | base64)
3
4curl -X POST *** \
5-H "Content-Type: application/json" \
6-d "{\"data\":\"$DATA\",\"signature\":\"$SIGNATURE\"}"

Response Parameters

NameTypeDescription
statusRequired
StringOperation result: `success` or `error`.
order_idOptional
StringThe merchant-provided order identifier, echoed back from the request.
bulkIdOptional
StringBank bulk operation identifier.
Response
1{
2 "status": "success",
3 "order_id": "order-20240430-001",
4 "bulkId": "11523"
5}

Error Codes

HTTP CodeReason
422Validation error or malformed data
403Merchant not found or inactive
500Signature mismatch or internal error

Webhook Notification

When a terminal status (SUCCESS or FAILED) is reached, a POST request is sent to the webhook_url.

{
  "order_id":      "order-20240430-001",
  "status":        "success",
  "amount":        "1000.00",
  "payee_iban":    "AZ29ABCD000000000000000000000",
  "payee_name":    "Technology LLC",
  "error_message": null
}
statusMeaning
successBANK_SUCCESS — payment completed
failedAny terminal error status

Your webhook endpoint must return 200 OK. On failure, retried 4 times with exponential backoff (60s → 120s → 180s → 240s).