🔒Request crypto payment

This is an authenticated endpoint

Initiate a payment request

POST https://payments.finrax.com/api/v1/payments

An endpoint for initiating a crypto payment request. Upon success, a unique paymentUrlis provided in the response which can be served within aniframe. Alternatively, you can redirect to the payment URL and if you have supplied a redirectUrl in the request, we will navigate the end-user back to your website upon payment completion (when we have received a deposit against this payment request). There is also a button which the end-user can use if they wish to get redirected back sooner.

Request Body

{
  "clientPaymentId": "string",
  "businessId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "locale": "string",
  "type": "ONE_TIME",
  "displayCurrency": "AED",
  "displayAmount": "string",
  "depositCurrency": "BCH",
  "network": "BCH",
  "depositAmount": "string",
  "rateType": "FIXED",
  "expirationMinutes": 0,
  "redirectUrl": "string"
}
NameTypeDescription

clientPaymentId*

string

Unique payment identifier for reconciliation purposes.

businessId*

string

UUID Unique business identifier. Optional for businessToken implementation

locale*

string

Language localisation abbreviation. The following languages are available through their ISO 639-1 codes: en-US, de-DE, tr-TR,es-ES, fr-FR, ru-RU,zh-CN, pt-PT, ar for arabic and ja-JP. Alternatively the locale string can be submitted with an "_" instead of the "-" e.g. "en_US" or "fr_FR".

type

string

Can be one of [ONE_TIME, REUSABLE]

displayCurrency

string

Fiat currency abbreviation (i.e. EUR, USD, GBP). Required if depositAmount is supplied.

displayAmount

string

Amount in displayCurrencythe user wants to deposit (i.e. 100 USD). One of depositAmount or displayAmount should be supplied.

depositCurrency

string

Cryptocurrency that should be used for the deposit. Required if depositAmount is supplied.

network

string

Add a specific network that will be used for the deposit. The list of available currencies and network pairs can be found here.

For example if you wish to create a deposit for USDC, the value for the network field can be set to either ETH, BSC or SOL

depositAmount

string

Request amount in cryptocurrency that should be deposited (i.e. 0.55 BTC).

rateType

string

Can be one of [FIXED, FLOATING]. Defaults to FIXED when certain conditions are met.

expirationMinutes

integer

ONE_TIME payments: Indicates the timeframe in which the deposit should happen. A value of 0 will set the payment expiry to 7 days. Defaults to 30 min. REUSABLE payments: You can omit this parameter. Reusable payments are set to non-expiry.

redirectUrl

string

Redirect a customer back to a specific URL upon payment completion.

{
    "paymentInfo": {
        "actualDepositAmount": "0.00000000",
        "actualDisplayAmount": "0.00",
        "expirationMinutes": 30,
        "paymentId": "730ce768-441d-4cd6-81e2-65bd573097db",
        "processorType": "BLOCKCHAIN",
        "displayCurrency": "USD",
        "actualUniformAmount": "0.00",
        "locale": "en-US",
        "businessId": "dab81a7a-2502-4784-ad34-87e04e5129f0",
        "deposits": [],
        "rateType": "FIXED",
        "status": "NEW",
        "expectedDisplayAmount": "100.00",
        "type": "ONE_TIME",
        "refundFollowUpDepositsForOneTimePayments": true,
        "overpaymentPolicy": "EXCESS_REFUND",
        "paymentInitiatedAt": 1634141810,
        "clientPaymentId": "test-example-1"
    },
    "paymentUrl": "https://dev-payments.finrax.com/deposit/730ce768-441d-4cd6-81e2-65bd573097db?theme=LIGHT&locale=en-US&sessionToken=eyJhbGciOiJIUzUxMiJ9.eyJwYXltZW50SWQiOiI3MzBjZTc2OC00NDFkLTRjZDYtODFlMi02NWJkNTczMDk3ZGIiLCJvcmdhbmlzYXRpb25JZCI6ImNmMWU2N2QwLTQ2ZjYtNGEwMC04MzcwLTA5MGE1MDg3YzgwZiIsImJ1c2luZXNzSWQiOiJkYWI4MWE3YS0yNTAyLTQ3ODQtYWQzNC04N2UwNGU1MTI5ZjAiLCJpYXQiOjE2MzQxNDE4MTAsImV4cCI6MTYzNDE0NTQxMH0.jC5sxGSMlsFeSbfhBrOUIxzHpWzu5CNrYuy-jIpNF7IflFNCQ81kwYQ6X0ToiKqQKOEaqazJj3QntrJpQcgnXQ"
}

Response schema

Parameter

Type

Description

paymentInfo

object [required]

Object with payment details

actualDepositAmount

string [required]

The actual deposit amount in cryptocurrency

actualDisplayAmount

string [required]

The actual display amount upon receiving the cryptocurrency

expectedDepositAmount

string [optional]

The expected amount in Cryptocurrency

expectedDisplayAmount

string [optional]

The expected amount in Fiat currency

expectedNetwork

string [optional]

The expected network on which this deposit should occur

businessId

string [required]

Finrax business ID UUID

clientPaymentId

string [required]

Unique payment identifier provided in the request

deposits

array [required]

Array with all the transactions that happened for this payment

expirationMinutes

number [required]

The timeframe in which the deposit should happen

locale

string [required]

Language localisation abbreviation.

paymentId

string [required]

Unique payment identifier within Finrax system UUID

paymentInitiatedAt

number [required]

Timestamp when the payment got created UNIX

status

string [required]

Status of the payment

processorType

string [required]

Type of the payment. Can be one of [BLOCKCHAIN, CARD]. For crypto payments it's BLOCKCHAIN

redirectUrl

string [optional]

A specific URL the customer will be redirected to upon payment completion

overpaymentPolicy

string [optional]

Payment configuration for overpayments. Can be one of: EXCESS_REFUND or PROCESS

refundFollowUpDepositsForOneTimePayments

boolean [optional]

Payment configuration if follow-up deposits should be refunded.

rateType

string [required]

Can be one of [FIXED, FLOATING]

type

string [required]

Can be one of [ONE_TIME, REUSABLE]

paymentUrl

string [required]

A unique payment URL which could be used to serve the Finrax checkout page

More information regarding FIXED/FLOATING rate types here

More information on ONE_TIME/REUSABLE payment links here

Last updated