LogoLogo
  • GENERAL
    • Introduction
    • Overview
    • Authentification
    • ENUM description
  • GUIDES
    • General questions
      • What is Calypso Pay?
      • Which blockchains and tokens we support?
    • Calypso UI guides and questions
      • Introduction to Calypso Pay
      • Sandbox mode and limits
      • General
        • How to create new API key
        • How to create an additional account
        • How to add a new asset to account
        • How to add funds to your wallet
        • Protect your withdrawals with additional signatures
        • How to change your top-up address
        • How to use address book
        • How to set up auto currency conversion
        • How to set up payout confirmations
        • How to transfer money within Calypso pay
        • Create a webhook
      • Accept Payments via UI
        • How to create an invoice via UI
        • Accept Payments FAQ
      • Make Payments via UI
        • How to create a single payout via UI
        • How to create mass payout via UI
        • Make Payments FAQ
      • Make Exchanges via UI
        • How to exchange one crypto asset to the other
      • Reports
        • How to get reports
        • Report contents description
    • Integration guides and questions
      • Get started with API
      • Use Customer purse via API
        • How create a customer
        • How to get a purse
        • How to get a transaction data
      • Accept Payments via API
        • How to create a Limited Invoice via API
        • How to create a Limited Fiat Invoice via API
        • How to create an Unlimited Invoice via API
        • How to manage interventions via API
        • How to embed invoice data to your payment page
      • Payment widget
        • How to create a limited fiat payment widget via API
        • How to create unlimited payment widget
        • How to embed a payment widget on a web page
      • Make Exchange via API
        • How to create a exchange
        • Get balance information via API
      • Make Payments via API
        • Get balance information via API
        • How to create a single payout via API
        • How to create a mass payout via API
  • ACQUIRING
    • Customer wallets
    • Invoices
    • Onramp
    • Onramp widget
  • EXCHANGE
    • Crypto exchange
  • PAYOUTS
    • Single Payout
    • Mass Payout
  • WEBHOOKS
    • Overview
    • Types of events
    • Webhook payload
    • Webhook sign check
  • API REFERENCE
    • Report API
    • Settlement Payout API
    • Webhook API
    • Payout API
    • Exchange API
    • Fiat API
    • User API
    • Rate API
    • Settlement Wallet API
    • Fiat withdrawal API
    • Account API
    • Currency API
    • Invoice API
    • Settlement Report API
    • Crypto to fiat API
    • Customer Purse API
    • Fiat deposit API
    • Payment Widget API
    • Models
Powered by GitBook
On this page
  • Process description
  • Sequence
  • Fiat order statuses
  • Request examples
Export as PDF
  1. ACQUIRING

Onramp

PreviousInvoicesNextOnramp widget

Last updated 12 days ago

ONRAMP - a service that provides a reliable tool for creating fiat payments for goods and services, with the help of which your customers will be able to make purchases of cryptocurrency and other payment transactions.

API integration allows end users to pay with fiat, while the merchant receives cryptocurrency funds directly into their Calypso account. Your user will be able to make payments using cards and other methods.

Process description

To create a fiat order and initiate payment for your user, you need to complete the following steps:

1

You need to get a list of available GEOs and fiat currencies for them -

2

Next, you need to select a geo and get a list of proposed payment methods for it -

3

After selecting a payment method, fill in the required parameters for the order and create it -

4

After receiving the order ID, you need to confirm it and you will receive a payment link for your user -

5

If the user made a payment and it received a successful status, you will receive a webhook - FIAT_DEPOSIT_FIAT_FUNDS_RECEIVED

6

If a user makes a payment and it gets an unsuccessful status, you will receive a webhook - FIAT_DEPOSIT_ORDER_FAILED

7

If the user has not completed the payment process and the order has expired, you will receive a webhook - FIAT_DEPOSIT_ORDER_EXPIRED

After receiving a status change webhook, we recommend checking the reliability of the order information via a request -

Sequence

Fiat order statuses

Status
Description

CREATED

Fiat order successfully created

IN_PROGRESS

Fiat order in process

PAID

Fiat order successfully paid

COMPLETED

Funds after fiat order payment are transferred to your company account

FAILED

Fiat order payment failed

EXPIRED

Fiat order payment not completed and order expired

Request examples

Request:

Body parameters
Type
Field
Description

account

string

required

Merchant account ID. Request will be sent for this account

timestamp

integer

required

Current unix UTC timestamp in milliseconds. Must not be less than 3 minutes in the past and not greater than 3 minutes in the future

{
  "account": "text",
  "timestamp": 1
}

Response 200 OK:

{
  "geo": [
    {
      "geoId": "123e4567-e89b-12d3-a456-426614174000",
      "geoName": "text",
      "geoCode": "text",
      "fiatCurrency": "ARS"
    }
  ]
}

Request:

Body parameters
Type
Field
Description

account

string

required

Merchant account ID. Request will be sent for this account

timestamp

integer

required

Current unix UTC timestamp in milliseconds. Must not be less than 3 minutes in the past and not greater than 3 minutes in the future

payload

object

required

Object with request parameters

geoId

string

required

Unique geo identifier

cryptoAmount

number

optional

Crypto amount of the fiat order (for advance calculation)

fiatAmount

number

optional

Fiat amount of the fiat order (for advance calculation)

currency

string

required

Crypto currency of the fiat order

{
  "account": "text",
  "timestamp": 1,
  "payload": {
    "geoId": "123e4567-e89b-12d3-a456-426614174000",
    "cryptoAmount": 1,
    "fiatAmount": 1,
    "currency": "text"
  }
}

Response 200 OK:

{
  "fixedRateId": "123e4567-e89b-12d3-a456-426614174000",
  "rateExpiredDate": "2025-05-21T13:57:48.699Z",
  "methods": [
    {
      "itemId": "123e4567-e89b-12d3-a456-426614174000",
      "fiatAmount": 1,
      "cryptoAmount": 1,
      "withdrawalSettingsType": "CARD",
      "currency": "text",
      "fiatCurrency": "ARS",
      "minLimit": 1,
      "maxLimit": 1
    }
  ]
}

Request:

Body parameters
Type
Field
Description

account

string

required

Merchant account ID. Request will be sent for this account

timestamp

integer

required

Current unix UTC timestamp in milliseconds. Must not be less than 3 minutes in the past and not greater than 3 minutes in the future

payload

object

required

Object with request parameters

rateId

string

required

Unique exchange rate identifier

itemId

string

required

Unique item identifier

cryptoAmount

number

optional

Crypto amount of the fiat order

fiatAmount

number

optional

Fiat amount of the fiat order

idempotencyKey

string

required

Unique idempotency key

merchantExternalId

string

optional

External unique identifier, specified by the merchant

returnUrl

string

required

Link to the page to which the user is redirected after completing the payment

description

string

required

Comment to order

{
  "account": "text",
  "timestamp": 1,
  "payload": {
    "rateId": "123e4567-e89b-12d3-a456-426614174000",
    "itemId": "123e4567-e89b-12d3-a456-426614174000",
    "cryptoAmount": 1,
    "fiatAmount": 1,
    "description": "text",
    "merchantExternalId": "text",
    "returnUrl": "text",
    "idempotencyKey": "123e4567-e89b-12d3-a456-426614174000"
  }
}

Response 200 OK:

{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "cryptoAmount": 1,
  "fiatAmount": 1,
  "fiatCurrency": "ARS",
  "currency": "text",
  "state": "CREATED"
}

Request:

Body parameters
Type
Field
Description

account

string

required

Merchant account ID. Request will be sent for this account

timestamp

integer

required

Current unix UTC timestamp in milliseconds. Must not be less than 3 minutes in the past and not greater than 3 minutes in the future

payload

object

required

Object with request parameters

id

string

required

Unique order identifier received after creation

requestParams

object

required

Object with request parameters

Other properties

object

optional

List of additional parameters of fiat order

{
  "account": "text",
  "timestamp": 1,
  "payload": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "requestParams": {
      "ANY_ADDITIONAL_PROPERTY": {}
    }
  }
}

Response 200 OK:

{
  "redirectUrl": "text"
}


Request:

Body parameters
Type
Field
Description

account

string

required

Merchant account ID. Request will be sent for this account

timestamp

integer

required

Current unix UTC timestamp in milliseconds. Must not be less than 3 minutes in the past and not greater than 3 minutes in the future

id

string

required

Unique order identifier received after creation

{
  "account": "text",
  "timestamp": 1,
  "payload": {
    "id": "123e4567-e89b-12d3-a456-426614174000"
  }
}

Response 200 OK:

{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "cryptoAmount": 1,
  "fiatAmount": 1,
  "fiatCurrency": "ARS",
  "currency": "text",
  "state": "CREATED"
}

Get list of geo and fiat currencies -

Get list of payment methods -

Create fiat order -

Confirm fiat order -

Get fiat order info -

[POST] Get geo
[POST] Get method
[POST] Create order
[POST] Confirm order
[POST] Get fiat info
[POST] Get geo
[POST] Get method
[POST] Create order
[POST] Confirm order
[POST] Get fiat info