API Reference
Documentation for API. Major update is addresses with exchange crypto to fiat and vice versa abilities.
General information
API endpoint for all requests in production environment is:
https://app.cryptoprocessing.com/api/v2API endpoint for all requests in test environment is:
https://app.sandbox.cryptoprocessing.com/api/v2Deposit flow
You obtain new address from Citron API (for some currencies it may be address and tag) and store it somewhere on your side. After that you show this address to your customer in order to make a deposit.
Customer sends some funds to this address.
When transaction is sent by a customer - Citron sends a callback to your callback url with transaction details. It contains status, address, currency, amount and fees. If status is successful, you should deposit respective amount to customer balance on your side.
Withdrawal flow
You request to send amount of money to address.
Your request is validated on our side. If signature is correct, address is valid and you have enough balance - Citron responds you with the transaction object.
You will receive a callback when transaction status is updated.
Please note that the final status and all calculations on your side shall be applied only after receiving a final callback from Citron's side, hence in case a connection disruption takes place and you do not see a transaction on your side, kindly wait for a final callback or check a transaction in the back-office.
Deposit with exchange flow
You don't want to touch or store cryptocurrency, but only use it as a payment method. Your customer deposits BTC, Citron instantly converts it to EUR so that you would receive EUR on your Citron account.
You obtain new address from Citron API same as in deposit flow, but additionally pass another parameter "convert_to" in your request specifying resulting currency.
When new deposit is arriving, Citron converts all arriving funds to destination funds, and sends notifications as in regular deposit
Withdrawal with exchange flow
You wish to send Cryptocurrency from your Fiat currency balance. For example you want to send EUR amount but your customer receives money in BTC.
You do exactly same as in withdrawals, but you specify 2 currencies. One is a currency of your sending balance and Second is a cryptocurrency your Customer wishes to receive.
Your request is validated on our side. If signature is correct, address is valid and you have enough balance - Citron responds you with the transaction object.
You will receive a callback when transaction status is updated.
API Endpoints
Ping
GET https://app.cryptoprocessing.com/api/v2/ping
Test if API is up and running and your authorization is working
Get list of exchangeable currencies
POST https://app.cryptoprocessing.com/api/v2/currencies/pairs
Get list of exchangeable currencies
Request Body
currency_from
String
Filter by currency ISO that exchanges from, example: BTC
currency_to
String
Filter by currency ISO that can be converted to, example: EUR
Sending a payment
GET /payments/gate
Sending a payment

Make sure to use Bitcoin URI format bitcoin: in QR. Works the same way as "mailto:".
We do recommend making this QR clickable as customers may have a wallet set up on their computer or mobile phone.
We recommend specifying approximate current exchange rate.
Payment terminal JSON parameters
A set of parameters included in URL that will allow to redirect a user to Payment Terminal. For more info navigate through this section of documentation.
Name
Description
Type
request_id
hex
order_id
int
site_login
This is a unique ID of the customer
int
payment_group_id
ID of the payment group
int
display_payment_group_id
Code of the payment group
int
currency
ISO of a currency to receive funds in, example: USDT
string
site_id
customer_ip
The IP of the customer
string
source_type
int
amount
The amount of the transaction example: 1250
int
payment_type_id
int
action
Type of the action example: top_up
string
customer_purse
string
cabba_invoice
string
extra_token
hash
signature
hash
Transaction status codes
Status code
Meaning
Success - "0"
Final. You are safe to process this transaction
preAuth - "10"
???
Delayed - "50"
???
Error - "500"
???
Insufficient funds - "402"
Not enough funds in the customers account
"action" parameter values
Type
Description
Top up
Deposition of funds into the customers account balance
Withdraw
Withdrawal of funds from the customers account balance
Purchase
???
Payout
???
Last updated
Was this helpful?