Payments

Payments Data Model

FieldTypeExample

id

String

"PMT-13ea4c32-7eee-4201-bead-51bbd090c472"

externalId

String

"020d0f3f9d004f492b38b499712c3767b6f5313f0152c87c48d3bed4c88ec747"

status

Enum [

NEW,
SUCCESS,
PARTIAL_SUCCESS,
FAILED,
EXPIRED,
PENDING,
CANCELLED,
FROZEN

]

"SUCCESS"

orderId

String

"ORD-d9317522-919d-4a62-adf8-7abbb49ff464"

currency

Enum [

BTC,
ETH,
USDT,
TRX,
EUR,
USD,
UAH,
KZT,
TRY,
IDR

]

"USDT"

blockchain

Enum [

ETHEREUM,
TRON

]

"ETHEREUM"

amount

Float

100

orderType

Enum [

PAYIN,
PAYOUT,
EXCHANGE
TRANSFER

]

"PAYOUT"

transactionType

Enum [

CREDIT,
DEBIT

]

"CREDIT"

method

Enum [

CRYPTOCOIN,
CC_VISAMC,
VA_QR

]

"CC_VISAMC"

createdAt

String

"2022-02-16T16:07:18.708563Z"

reason

String

"Bank decline"

comment

String

"Comment"

clientOrderId

String

"000001"

payUrl

String

"https://example.com/"

payoutCryptoAddress

String

"TN7K8k7ASf4rPrD5YjffnXWdbd8sj23363"

payoutCardNumber

String

"1234123412341234"

transferTo

String

"OWN-b9b88002-93a7-48df-856c-b9be73aad5eb"

balanceAfterPayment

Float

200

payinBankAccount

String

"14123421"

The following payment statuses are considered final:

  • SUCCESS

  • PARTIAL_SUCCESS - in case the amount processed is less than the requested amount. The unprocessed difference is returned to the balance. The unprocessed difference can be found in payment details

  • FAILED

  • EXPIRED

  • CANCELLED

Payments API

All the requests described below require authentication headers. For more information please refer to the "Authentication" page.

🔑pageAuthentication

If you are interested in receiving order updates in webhook style pay attention to the "Callbacks" page.

🪝pagePayment Webhook

Get payment methods

GET /v1/user/methods

Headers

NameTypeDescription

X-Token-API-Id*

String

Identifier of the token (started with TKN- prefix)

X-Token-API-Secret*

String

Token Secret

[
  {
    "id": "PMD-5a9c2869-651c-5695-b4a8-da2036e2bb62",
    "name": "Trc20 Payout",
    "orderType": "PAYOUT",
    "methodKey": "CRYPTOCOIN",
    "currency": "USDT",
    "blockchain": "TRON",
    "percent": 0,
    "scale": 6,
    "fixed": 2.5,
    "minLimit": 1,
    "maxLimit": 99999999484.93518,
    "verificationLevel": 0,
    "calculateFee": true,
    "extra": null
  },
  {
    "id": "PMD-332fe27b-e4cd-4025-9b35-ca7f3e4fc019",
    "name": "BravoPay IDR PayOut",
    "orderType": "PAYOUT",
    "methodKey": "VA_QR",
    "currency": "IDR",
    "percent": 0,
    "scale": 4,
    "fixed": 40,
    "minLimit": 10000,
    "maxLimit": 0,
    "verificationLevel": 3,
    "calculateFee": false,
    "extra": "{\"description\": \"Bank\", \"values\": [{\"value\": \"CIMB\", \"name\": \"CIMB Bank\"},{\"value\": \"BNI\", \"name\": \"BNI Bank\"},{\"value\": \"BCA\", \"name\": \"BCA Bank\"},{\"value\": \"PERMATA\", \"name\": \"PERMATA Bank\"}]}"
  }
]

Get all payments

GET /v1/user/payments

Headers

NameTypeDescription

X-Token-API-Id*

String

Identifier of the token (started with TKN- prefix)

X-Token-API-Secret*

String

Token Secret

[
  {
    "id": "PMT-13ea4c32-7eee-4201-bead-51bbd090c472",
    "externalId": "satoshiTx",
    "status": "SUCCESS",
    "orderId": "ORD-d9317522-919d-4a62-adf8-7abbb49ff464",
    "currency": "BTC",
    "blockchain": "BITCOIN",
    "amount": -50,
    "orderType": "PAYOUT",
    "transactionType": "CREDIT",
    "method": "CRYPTOCOIN",
    "createdAt": "2022-02-16T16:07:18.708563Z",
    "reason": null,
    "comment": "",
    "clientOrderId": "0002",
    "payUrl": null,
    "payoutCryptoAddress": "satoshiAddress",
    "payoutCardNumber": null,
    "transferTo": null,
    "balanceAfterPayment": 116,
    "payinBankAccount": null
  },
  {
    "id": "PMT-9c24aace-9c61-4fa1-9dd5-be4e0ab1e9d2",
    "externalId": "extrnId2",
    "status": "SUCCESS",
    "orderId": "ORD-b15f6f3a-169e-48b2-b072-faf8e4754793",
    "currency": "USDT",
    "blockchain": "TRON",
    "amount": 50,
    "orderType": "PAYIN",
    "transactionType": "DEBIT",
    "method": "CRYPTOCOIN",
    "createdAt": "2022-02-16T16:09:00.439314Z",
    "reason": null,
    "comment": null,
    "clientOrderId": "0002",
    "payUrl": null,
    "payoutCryptoAddress": null,
    "payoutCardNumber": null,
    "transferTo": null,
    "balanceAfterPayment": 116.4,
    "payinBankAccount": null
  }
]

Search payments

GET /v2/user/payments/search

Query Parameters

NameTypeDescription

createdAt

String

can have 2 values for range search

amount

Floating

can have 2 values for range search

currency

String

orderType

String

transactionType

String

status

String

integrationId

String

methodId

String

page

Integer

page number

size

Integer

page size

sort

String

{fieldName},{asc/desc} example: createdAt,desc

orderId

String

ORD-*

clientOrderId

String

Headers

NameTypeDescription

X-Token-API-Id*

String

Identifier of the token (started with TKN- prefix)

X-Token-API-Secret*

String

Token Secret

{
    "content": [
        {
            "amount": 100.0,
            "balanceAfterPayment": 534.71672,
            "clientOrderId": null,
            "comment": null,
            "createdAt": "2022-01-18T10:16:00.577807Z",
            "currency": "USDT",
            "blockchain": "ETHEREUM",
            "externalId": "extnalId",
            "id": "PMT-18162cf8-ea1c-4210-ab6b-e73286b923df",
            "method": "CRYPTOCOIN",
            "orderId": "ORD-81b84975-4487-43f4-a8ab-57a95ee4e695",
            "orderType": "PAYIN",
            "payUrl": null,
            "payinBankAccount": null,
            "payoutCardNumber": null,
            "payoutCryptoAddress": null,
            "reason": null,
            "status": "SUCCESS",
            "transactionType": "DEBIT",
            "transferTo": null
        }
    ],
    "empty": false,
    "first": false,
    "last": false,
    "number": 2,
    "numberOfElements": 1,
    "pageable": {
        "offset": 2,
        "pageNumber": 2,
        "pageSize": 1,
        "paged": true,
        "sort": {
            "empty": true,
            "sorted": false,
            "unsorted": true
        },
        "unpaged": false
    },
    "size": 1,
    "sort": {
        "empty": true,
        "sorted": false,
        "unsorted": true
    },
    "totalElements": 25,
    "totalPages": 25
}

Get payment

GET /v1/user/payments/{id}

Path Parameters

NameTypeDescription

id*

String

payment id

Headers

NameTypeDescription

X-Token-API-Id*

String

Identifier of the token (started with TKN- prefix)

X-Token-API-Secret*

String

Token Secret

{
    "amount": 100.0,
    "balanceAfterPayment": 534.71672,
    "clientOrderId": null,
    "comment": null,
    "createdAt": "2022-01-18T10:16:00.577807Z",
    "currency": "USDT",
    "blockchain": "ETHEREUM",
    "externalId": "externalId",
    "id": "PMT-18162cf8-ea1c-4210-ab6b-e73286b923df",
    "method": "CRYPTOCOIN",
    "orderId": "ORD-81b84975-4487-43f4-a8ab-57a95ee4e695",
    "orderType": "PAYIN",
    "payUrl": null,
    "payinBankAccount": null,
    "payoutCardNumber": null,
    "payoutCryptoAddress": null,
    "reason": null,
    "status": "SUCCESS",
    "transactionType": "DEBIT",
    "transferTo": null
}

Create pay-in

POST /v1/user/payments/payin

Headers

NameTypeDescription

X-Token-API-Id*

String

Identifier of the token (started with TKN- prefix)

X-Token-API-Secret*

String

Token Secret

Request Body

NameTypeDescription

paymentMethodId

String

amount*

Float

currency

String

BTC, ETH, USDT, TRX, EUR, USD, UAH, KZT, IDR, TRY

method

String

CRYPTOCOIN, CC_VISAMC, VA_QR

comment

String

clientOrderId

String

Client supplied order ID. Should be unique for every request in scope of project. Maximum 256 symbols.

returnUrl

String

qiwiAddress

String

cardNumber

String

channelCode

String

For IDR: CIMB, BNI, BCA, PERMATA

firstName

String

Required for EUR, USD

lastName

String

Required for EUR, USD

blockchain

String

Required for USDT. Possible values: ETHEREUM, TRON.

{
    "id": "PMT-d37c3316-5b92-49b3-99d5-d19e9ae4151d",
    "externalId": null,
    "status": "PENDING",
    "orderId": "ORD-3adf5733-18fe-4509-9c9c-5816c3ffbc88",
    "currency": "UAH",
    "amount": 500,
    "orderType": "PAYIN",
    "transactionType": "DEBIT",
    "method": "CC_VISAMC",
    "createdAt": "2022-06-30T21:26:17.689589Z",
    "reason": null,
    "comment": null,
    "clientOrderId": null,
    "payUrl": "https://example.com/CSGzxve3fN44Gfwy7",
    "payoutCryptoAddress": null,
    "payoutCardNumber": null,
    "transferTo": null,
    "balanceAfterPayment": null,
    "payinBankAccount": null
}

Create pay-out

POST /v1/user/payments/payout

Headers

NameTypeDescription

X-Token-API-Id*

String

Identifier of the token (started with TKN- prefix)

X-Token-API-Secret*

String

Token Secret

Request Body

NameTypeDescription

paymentMethodId

String

amount*

Float

currency

String

BTC, ETH, USDT, TRX, EUR, USD, UAH, KZT, IDR, TRY

method

String

CRYPTOCOIN, CC_VISAMC, VA_QR

cardNumber

String

cryptoAddress

String

comment

String

cardholder

String

clientOrderId

String

Client supplied order ID. Should be unique for every request in scope of project. Maximum 256 symbols.

bankAccount

String

For IDR

bankCode

String

For IDR: BT, I1, M1, RI, QRIS

receiverName

String

For EUR only. If not provided, constructed from firstName and lastName joined by space

firstName

String

Required for EUR, USD, KZT

lastName

String

Required for EUR, USD, KZT

phoneNumber

String

Required for EUR, USD

blockchain

String

Required for USDT. Possible values: ETHEREUM, TRON.

Content-Type: plain/text
ORD-bb282f37-6f20-4e64-b9dc-dcb1773a4d08

Last updated