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
  • Return order information
  • Request Body Example
  1. CCPayment v1.0 API
  2. Withdrawal API Integration

Withdrawal Order Information Interface

When the transaction is completed, the system will push the transaction result to the Webhook URL. You can also call this interface to obtain the order information.

Return order information

POST https://admin.ccpayment.com/ccpayment/v1/bill/info

Headers

Name
Type
Description

Appid*

String

Timestamp*

String

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

Sign*

String

Content-Type*

String

application/json; charset=utf-8

Request Body

Name
Type
Description

merchant_order_ids*

Array

Merchant Order ID, max limit 100. Pass only one type of withdrawal order id. DO NOT pass both deposit and withdrawal order ids in one request

API withdrawal order response

Header

Name
Value
Required
Type
Description

Appid

202302010636261620672405236006912

Y

string

Merchant's unique credential. Find it on the Developer page.

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_detail":{
                "merchant_order_id":"1698735528116569",
                "chain":"TRX",
                "contract":"TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",
                "crypto":"USDT",
                "order_amount":"1",
                "token_rate":"1",
                "status":"Successful",
                "created":1698735530,
                "order_id":"202310310658501719247540351442944"
            },
            "trade_list":[
                {
                    "amount":"1",
                    "chain":"TRX",
                    "contract":"TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",
                    "crypto":"USDT",
                    "service_fee":"0",
                    "network_fee":"0",
                    "network_coin_id":"217d4c3b-4f84-4416-bf1a-a1d15d7d2f50",
                    "network_fee_crypto":"TRX",
                    "network_fee_value":"0.85",
                    "txid":"",//No txid for internal transfers
                    "pay_time":1698735530,
                    "token_rate":"1",
                    "status":"Successful"
                }
            ]
        },
        {
            "order_detail":{
                "merchant_order_id":"po_2Y0Xr931AUUskX4azBtIzE6qHPX",
                "chain":"POLYGON",
                "contract":"0xc2132d05d31c914a87c6611c10748aeb04b58e8f",
                "crypto":"USDT",
                "order_amount":"0.001",
                "token_rate":"1",
                "status":"Successful",
                "created":1699663749,
                "order_id":"CP202311110049091723140772755197952"
            },
            "trade_list":[
                {
                    "amount":"0.001",
                    "chain":"POLYGON",
                    "contract":"0xc2132d05d31c914a87c6611c10748aeb04b58e8f",
                    "crypto":"USDT",
                    "service_fee":"0",
                    "network_fee":"0.046957",
                    "network_fee_crypto":"USDT",
                    "network_coin_id":"8e5741cf-6e51-4892-9d04-3d40e1dd0128",
                    "network_fee_value":"1.00",
                    "txid":"0xfdcb291148cf201a40afffcfd56fab4061ec90bdc54b7e1121405336003b2c29",
                    "pay_time":1699663875,
                    "token_rate":"1",
                    "status":"Successful"
                }
            ]
        }
    ]
}

Parameters

Name
Value
Required
Type
Description

code

10000

Integer

msg

Success

String

data

Array

data.order_detail

Object

detail of orders

data.order_detail.merchant_order_id

1234567890

String

Merchant order ID

data.order_detail.chain

ETH

String

data.order_detail.contract

0xdAC17F958D2ee523a2206206994597C13D831ec7

String

Contract

data.order_detail.crypto

USDT

String

Crypto symbol

data.order_detail.order_amount

0.09921

String

If the pricing currency is cryptocurrency, order_amount = product_price; when the pricing currency is fiat currency, order_amount=product_price/fiat_rate/token_rate

data.order_detail.token_rate

0.9921

String

data.order_detail.status

Successful

String

Pending、Processing: The withdrawal order is being processed on the blockchain. Please wait for the result.

Successful: Withdraw successful.

Failed: Withdraw failed.

data.order_detail.created

1698735530

String

data.order_detail.order_id

202310310658501719247540351442944

String

data.trade_list

Array

In transaction list, withdrawals have only one transaction.

data.trade_list.amount

0.09921

String

The actual amount received from the withdrawal transaction.

data.trade_list.chain

ETH

String

data.trade_list.contract

0xdAC17F958D2ee523a2206206994597C13D831ec7

String

Contract

data.trade_list.crypto

USDT

String

Crypto symbol

data.trade_list.service_fee

0.0000

String

data.trade_list.network_fee

0.0128

String

The actual network fee for the withdrawal transaction.

data.trade_list.network_fee_crypto

USDT

String

data.trade_list.network_fee_value

0.89

String

Network fee value in usd.

data.trade_list.network_coin_id

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

String

Coin ID for network fee crypto.

data.trade_list.txid

0x5caafde27a8040547a169168c55f35806eb0ca68344b2d53894097b0e9d5fa89

String

On-chain transaction hash, no txid for internal transfers

data.trade_list.pay_time

1684727677

String

data.trade_list.token_rate

0.9921

String

data.trade_list.status

Successful

String

"Processing"

"Successful"

"Failed"

{
    "code": 224066,
    "msg": "service err, please try again"
}

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

{
	"merchant_order_ids":["12345","23456"]
	//DO NOT pass both deposit and withdrawal order ids in one request
	//Max order limit: 100
}
PreviousCreate a withdrawal orderNextResources Document

Last updated 1 year ago

Merchant's unique credential. Find it on the .

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

unit of network fee.

Developer page
Signature guide
Crypto