7 min read | Updated 28 Jul 2023 | Category Partner | User AvatarAlin Ionut

Checkout Implementation

Want to be our Partner? Please contact us to gain details and start onboarding.

CryptoCoin.pro Checkout represents a way for your platform users to trade crypto in a fast and secure way, powered by our API. In order to gain access, you will need to have a valid platform enrolled in CryptoCoin.pro.

Once you accomplish that, you will receive the following:

Platform ID

xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Platform Code

xxxxxxxx

JWT Private

-----BEGIN RSA PRIVATE KEY-----
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-----END RSA PRIVATE KEY-----

JWT Public

-----BEGIN PUBLIC KEY-----
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-----END PUBLIC KEY-----

For best security, JWT RSA Keys are encoded in 2048 bit.


Checkout Base URL

https://checkout.cryptocoin.pro


Checkout Query Params

Parameter Values Required Info
platform xxxxxxxx Your platform code.
token xxxxxxxxxxxxxxxxxxxxxxxx JWT RS512 encoded with provided keys.¹
- - - -
lang {ro|en|de} - Select the language for the checkout. Default: en.
display {light|dark} - Select the theme for the checkout. Default:light
landing {true|false} - Select if you want to skip the checkout landing page. Default:false
  1. Encryption algorithm can be change from your Partner dashboard. We support: RS512, RS384, RS256, HS512, HS384 and HS256.

Checkout URL Example

https://checkout.cryptocoin.pro/?lang=en&display=dark&landing=true&platform=xxxxxxxx&token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx


Token Payload Checkout Example (JWT RS512 encoded)

{
  "link": {
	"id": "1",
	"username": "username",
	"email": "email@domain.com"
  },
  "user": {
	"email": "email@domain.com",
	"phone": "40730000000",
	"ref": "66de494e-6791-4290-996c-32f42041fbf4",
	"type": "personal",
	"wallet": "0xfFf75cb3916570824CcEFFe589193c2452383C17",
	"network": "ETH"
  },
  "payment": {
	"operation": "buy_with_fiat",
	"symbol": "ETH",
	"amount": "10",
	"secondSymbol": "EUR",
	"method": "card",
	"second_order_type": "withdraw",
	"attempts": "3"
  },
	"request_id": "1",
  "redirect_url": "https://www.google.com",
  "ping_url": "https://www.google.com/ping",
  "ip": "86.123.31.5",
  "expire": 1571848640
}

Token Payload Checkout Details

Property Validations Required Info
link.id string|max:191 User identification on your platform.
link.username alpha_dash|max:191 - User username on your platform.
link.email email - User email on your platform.
- - - -
user.email email User email.
user.ref uuid - User ref UID.
user.type in:personal|corporate - User type.
user.wallet alpha_num|max:191 - User wallet address.¹
user.network alpha_num|max:191 - User network code.
user.phone numeric|digits_between:7,17 - User phone.
user.first_name alpha_dash|max:191 - User first name.
user.last_name alpha_dash|max:191 - User last name.
user.dob date_format:Y-m-d - User date of birth.²
user.country countryISOcode - User country ISO code.³
user.city alpha_dash|max:191 - User city.
user.zip alpha_num|between:4,10 - User ZIP code.
user.street string|max:191 - User street details.
- - - -
payment.operation in:buy_with_fiat,sell_to_fiat,buy_with_crypto,sell_to_crypto,payment,borrow Transaction operation.
payment.symbol in:ETH,BTC,etc Transaction crypto main symbol.
payment.amount numeric Transaction crypto amount.
payment.secondSymbol in:EUR,USDT,etc Transaction second symbol.
payment.method in:card,bank Transaction payment method when operation is buy_with_fiat.
payment.second_order_type in:withdraw|withdrawIco - Transaction second operation after “buy”.¹
payment.service uuid|in:services - Transaction service required when operation is payment or borrow.
payment.serviceBeneficiary uuid|in:staffs - Transaction service beneficiary required when operation is payment.
payment.attempts integer|max:5 - Transaction max quote attempts.
- - - -
request_id unique|max:191 Transaction request ID.
redirect_url url Web location to redirect after checkout is finalized.
ping_url url - Web location where platform will send notification events.⁴
ip ip - Restrict checkout access by IP address.
expire integer|digits:10 Represents checkout request expiration date.⁵
  1. If wallet is not provided, the funds will remain in user CryptoCoin.pro balance. If is provided, a “payment.second_order_type” operation must be set as “withdraw”, and after "buy" order is Approved, a second Withdraw order will be automatically triggered.
  2. User must have at least 18 years.
  3. To get a list with all supported countries, interrogate API /countries endpoint.
  4. If ping_url is different than your Platform IEN URL, we will send data to this address as well as on Platform IEN URL.
  5. If this date is passed, checkout request will no longer be available.

Token Payload Checkout Details Extra

  1. Payment.symbol - Available values depends on your platform settings in CryptoCoin.pro platform.
  2. Payment.amount - If user has no other order in our CryptoCoin.pro platform, limitation may be applied to the maximum amount available for first order.
  3. Payment.secondSymbol - Available values depends on your platform settings in CryptoCoin.pro platform.
  4. Payment.method - Available values depends on your platform settings in CryptoCoin.pro platform.

If this do not answer your questions, please do not hesitate to contact us at contact@cryptocoin.pro.

Go Top