Payment initiation

TIP

Initiate paying on your behalf first.

Interface address

POST https://api.ttpay.io/v1/payanother/payment

Interface parameters

NameLocationTypeRequiredDescription
app_idbodystringYesApplication ID, example value: 8e4b8c2e7cxxxxxxxx1a1cbd3d59e0bd
mch_idbodystringYesMerchant ID, example value: 1234567890
descriptionbodystringNoDescription, example value: 1234567890
out_trade_nobodystringNoMerchant order number(out_trade_no and transaction_id pass at least one)
amountbodystringYesPayAnother amount
chainbodystringYesOwned public chain, example value: TRONETHEREUMBSC. View supported public chains
currencybodystringYesCurrency, example value: TRXUSDTETH. View supported currencies
to_addressbodystringYesCollection address
attachbodystringNoCustom parameter. It returns as-is in the query API and payment notifications and can be used as a custom parameter. In practice, this field is returned only when the payment is complete.
notify_urlbodystringNoCallback url, example value: https://xxx/xxx, suggest using https

TIP

app_id through the merchant backstage creating an applicationopen in new windowto obtain.

Interface return

NameTimeRequiredDescription
codeintegertrueStatus code
msgstringtrueStatements
request_idstringtrue
dataPayAnotherTransactionDetailfalse

Example retrun

{
    "code": 0,
    "msg": "ok",
    "request_id": "08250916-a677-4a36-a090-323807ac644c",
    "data": {
        "out_trade_no": "fb722ca8-ed7b-444b-9f58-0b5c8a7b52cb",
        "transaction_id": "e98b3029477f4bdcb971797a9d9e09ce",
        "trade_state": "SUCCESS",
        "description": "recharge",
        "block_no": 33215220,
        "create_time": 1673407302044,
        "block_time": 1673407329000,
        "expire_time": 1673407902044,
        "expire_second": 0,
        "pay_time": 1673407329000,
        "close_time": 0,
        "tx_id": "9fdf0ab5823e23225f93bcc644af30a6ab83b6583a8e29e359ee80219802a33a",
        "from_address": "TULRFYoFuEmUbxxxxxxxx8nQYFHJ88888",
        "contract_address": "",
        "to_address": "TQjxEW2Z3p9wjoxxxxxxxxgJUrWXBun91w",
        "amount": 15000000,
        "chain": "TRON",
        "decimals": 6,
        "attach": "anim dolore",
        "service_amount": 45000,
        "service_amount_currency": "USDT",
        "notify_url": "/console/callback/pay",
        "notify_num": 1,
        "notify_status": 2,
        "status": 2,
        "currency": {
            "type": "TRX",
            "chain": "TRON",
            "code": "TRON_TRX",
            "currency": "TRX",
            "name": "TRX",
            "sub_name": "TRON",
            "logo": "https://static.tronscan.org/production/logo/trx.png",
            "contract_address": "",
            "decimal": 6,
        }
    }
}

Example code

curl --location --request POST 'https://api.ttpay.io/v1/payanother/payment' \
--header 'Authorization: <Authorization>' \
--header 'User-Agent: TTPay API (https://ttpay.io)' \
--header 'Content-Type: application/json' \
--data-raw '<body data here>'
package main

import (
   "fmt"
   "strings"
   "net/http"
   "io/ioutil"
)

func main() {

   url := "https://api.ttpay.io/v1/payanother/payment"
   method := "POST"

   payload := strings.NewReader(`<body data here>`)

   client := &http.Client {
   }
   req, err := http.NewRequest(method, url, payload)

   if err != nil {
      fmt.Println(err)
      return
   }
   req.Header.Add("Authorization", "<Authorization>")
   req.Header.Add("User-Agent", "TTPay API (https://ttpay.io)")
   req.Header.Add("Content-Type", "application/json")

   res, err := client.Do(req)
   if err != nil {
      fmt.Println(err)
      return
   }
   defer res.Body.Close()

   body, err := ioutil.ReadAll(res.Body)
   if err != nil {
      fmt.Println(err)
      return
   }
   fmt.Println(string(body))
}
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
   CURLOPT_URL => 'https://api.ttpay.io/v1/payanother/payment',
   CURLOPT_RETURNTRANSFER => true,
   CURLOPT_ENCODING => '',
   CURLOPT_MAXREDIRS => 10,
   CURLOPT_TIMEOUT => 0,
   CURLOPT_FOLLOWLOCATION => true,
   CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
   CURLOPT_CUSTOMREQUEST => 'POST',
   CURLOPT_POSTFIELDS =>'<body data here>',
   CURLOPT_HTTPHEADER => array(
      'Authorization: <Authorization>',
      'User-Agent: TTPay API (https://ttpay.io)',
      'Content-Type: application/json'
   ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

import http.client
import json

conn = http.client.HTTPSConnection("https://api.ttpay.io")
payload = "<body data here>"
headers = {
   'Authorization': '<Authorization>',
   'User-Agent': 'TTPay API (https://ttpay.io)',
   'Content-Type': 'application/json'
}
conn.request("POST", "/v1/payanother/payment", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
OkHttpClient client = new OkHttpClient().newBuilder()
   .build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "<body data here>");
Request request = new Request.Builder()
   .url("https://api.ttpay.io/v1/payanother/payment")
   .method("POST", body)
   .addHeader("Authorization", "<Authorization>")
   .addHeader("User-Agent", "TTPay API (https://ttpay.io)")
   .addHeader("Content-Type", "application/json")
   .build();
Response response = client.newCall(request).execute();
Last updated: