CCPayment
Have Questions?TwitterMediumBlog
  • CCPayment - For Merchant
    • What is CCPayment
    • CCPayment API Introduction
    • Fees
    • Invoice
    • Contact Us
  • CCPayment v1.0 API
    • SDK Libraries
    • To Get Started
      • Signature
      • API Specification Common Rules
    • Payment API - CCPayment
      • Hosted Checkout Page Integration
      • Native Checkout Integration
      • API Deposit Order Information Interface
    • Wallet API - CCPayment
      • Get permanent deposit address for users
    • Withdrawal API Integration
      • Create a withdrawal order
      • Withdrawal Order Information Interface
    • Resources Document
      • Token ID Interface
      • Current Token Rate Interface
      • Asset Balance Interface
      • Network Fee Interface
      • Block Height Information Retrieval API
      • Check the Validity of Cwallet ID
      • List of Supported Coins
      • List of Denominated Currency for API Payment
      • Error Code
    • Webhook Notification
      • Webhook Notification Tutorial
      • API Deposit Webhook Notification
      • Direct Deposit to Permanent Address Webhook Notification
      • Invocie Webhook Notification
      • Withdraw Webhook Notification
      • Refund Webhook Notification
      • Resend Webhook Notification
  • Changes
    • Change Record
    • Upcoming Changes
  • FAQ
    • FAQ
    • Webhook Notification
      • How to receive the transaction notification
      • Why do some deposit transactions not include the “from address” in the webhook notification?
    • Payment
      • Why hasn't my transactions been confirmed?
      • Why hasn't my withdrawal arrived
      • Minimum amount of withdrawal and deposit
      • How to find out withdrawal fees for each cryptocurrency?
      • How does CCPayment charge the service fee
      • After payment has been paid, why does the order status not appear successful
      • What types of tokens do we accept for payment
      • How long does it take for a withdrawal to be processed
      • When a payment is not sufficiently made, can the user make it again and have it credited correctly
      • Is it possible to pay by credit card
      • What is token aggregation fee?
    • Security & Privacy
      • How to Secure My CCPayment Account
      • What information do you collect about my customers
      • Is my website required to be reviewed when using CCPayment API
      • Why can’t I get the email verification code?
      • Verify your site ownership
        • Verify your site ownership with HTML file
        • Verify your site ownership with HTML tag
    • Refund
      • How to cancel a pending refund request
      • How does the merchant issue a refund to the customer
      • What should you do if you entered a wrong memo/tag?
      • What should you do if you credited to CCPayment's unsupported tokens?
    • Others & Academy
      • How to manage multiple merchant account
      • How does the lock exchange rate of an order work and what happens when it is locked
      • What is the transaction under the category Other in the transaction records
      • Are there any regional restrictions on API use
      • What is a referral program?
      • CCPayment ETH Testnet Tutorial
      • What is auto-swap for deposit?
  • CCPAYMENT POLICY
    • CCPayment Privacy Policy
    • Disclaimer for Purchasers
    • Terms of Use
    • AML/CTF Policy
Powered by GitBook
On this page
  • Create withdrawal order
  • Return to Withdrawal Order Creation Information
  1. CCPayment v1.0 API
  2. Withdrawal API Integration

Create a withdrawal order

Users can get instant payouts to their Cwallet account with 0 fees from your sites/apps. They can also withdraw to any other wallet with no minimum withdrawal amount limit.

Create withdrawal order

Return to Withdrawal Order Creation Information

POST https://admin.ccpayment.com/ccpayment/v1/withdraw

Return a receiving address and order infor

Headers

Name
Type
Description

Sign*

string

Timestamp*

string

Timestamp in seconds (10-digit). The request is valid for two minutes.

Appid*

string

Content-Type*

String

application/json; charset=utf-8

Request Body

Name
Type
Description

merchant_order_id*

string

Order ID in Merchant's system. A unique ID for every order

address*

string

Case 1: Pass the Cwallet ID or Email address linked to Cwallet account If a user wants to withdraw to his Cwallet account

Case 2: Pass the receiving address if the user wants to withdraw to his Web3 wallet.

Note: SATS uses the invoice as a receiving address. Each invoice can only accept one payment.

token_id*

string

If the withdrawal is to Cwallet, any token_id of the coin will be ok.

If the withdrawal is to external addresses, only the corresponding token_id will work.

value*

string

Withdrawal amount

memo

Integer

Pass memo parameter if the receiving address requires a memo. If a memo is required and it is not filled, or filled incorrectly, the asset may be lost

merchant_pays_fee

bool

Ture: the network fee charged from the merchant. False when not specified: the network fee charged from the user. The received amount = withdrawal amount- network fee

Response (Success 200)

Header

Name
Value
Required
Type
Description

Appid

202302010636261620672405236006912

Y

String

Timestamp

1677152490

Y

String

Timestamp in seconds (10-digit). The request is valid for two minutes.

Sign

871f0223c66ea72435208d03603a0cb00b90f6ac4a4ba725d00164d967e291f6

Y

String

SHA-256(appId + appSecret + timestamp+body(json string))

Body

{
    "code": 10000,
    "msg": "success",
    "data": {
           "order_id": "202307270722481684464338564370432",
           "record_id": "202307270722481684464338581147648",
           "network_fee": "0",
           "network_coin_id":"217d4c3b-4f84-4416-bf1a-a1d15d7d2f50",
           "network_symbol":"TRX",
           "network_fee_value":"0.85",
           "net_receivable": "0.05" 
          }
}

Parameters

Name
Value
Required
Type
Description

code

10000

integer

msg

Success

string

data

object

data.order_id

202301090616511612332555323101184

string

Merchant order ID

data.record_id

202301090616511612332555323101184

string

Trading record: one transaction generates one unique

data.network_fee

0

string

Network fee. Withdrawal to Cwallet address charges 0 network fee.

data.network_coin_id

8e5741cf-6e51-4892-9d04-3d40e1dd0128

string

Coin ID for network fee crypto.

data.network_fee_crypto

TRX

string

data.network_fee_value

0.85

string

Network fee value in usd.

data.net_receivable

0.05

string

Amount of withdrawal will be received

Response (Fail 200)

{
	"code": 224066,
	"msg": "Service error, pleaser try again",
	"data": null
}
Name
Value
Required
Type
Description

code

224066

Number

msg

Service error, please try again

String

data

Object

As a security measure, we will sign the returned data (and according to this only { code: 10000 } should be signed, but it's signing all the returned body.). Additionally, it will return Appid, Sign, Timestamp in the header of the response. The signature method SHA-256 (appid+appSecret+Timestamp+body).

Please use the data with caution if the signature verification fails. It indicates that the data has been tampered with.

Request Body Example

{
  "token_id": "fdf0e8b0-ebf5-44f0-a335-21c121b73fc8",
  "address": "rwyQp3eC5j6AumcptZhfmiXAykpeswZKeJ",
  // Pass Cwallet id or Email address if the withdrawal is to Cwallet account
  "merchant_order_id": "3735077979050379",
  "merchant_pays_fee": false      
  "value": "10"
  "memo": "573049"// Pass memo parameter if the receiving address requires a memo
}

The body of HTTP is a json string .

Add the content in body of HTTP to the signature. Ensure the body content matches the signature content. As soon as CCPayment receives the request, the body content will be read and the signature will be verified.

PreviousWithdrawal API IntegrationNextWithdrawal Order Information Interface

Last updated 1 year ago

SHA-256 (APPID + APP Secret +timestamp+body (json string)). .

Merchant's unique credential. Find it on the

Tell CCPayment's server which coin and network should be used for the transaction. You can get the token_id by calling the interface or finding it .

Merchant's unique credential. Find it on the

This message only represents the status of the order creation and not the transaction result. The results of the transaction will be pushed in the .

unit of network fee.

Signature guide
Developer page
on this sheet
Developer page
webhook notification
Crypto