Fiat (Rupee) Proxy Pay Order Creation

# Code Example

TopPaySignUtil Click to Get Code Example

import com.google.gson.Gson;
import java.util.HashMap;
import java.util.Map;

public class PayOrderCreate {
    //MCH_ID: Merchant ID
    //Please log in to the merchant background, click Personal Center > Personal Information, and obtain the merchant ID in the basic information.
    private static final String MCH_ID = "S820211021094748000001";
    private static final String MCH_PRIVATE_KEY = "MIICeAIBADANBgkqhkiG9w0BAQEFAASCAmIwggJeAgEAAoGBAJU8gKFKD0luIYx7X8+JRdCIE0UDBctS6LjXxWLEv/EO7jDBTid6zYP1KmNgpd2DAWWtBFBSQ+gcNwVZZSBHJiSDqVvvJVs2FEbeBvfdv4X93+IYRAXksBasSW5Tpdshbo82pVL4V7wuKCuFLk9UxBHbpQjWAbfyF66RmwIbZD71AgMBAAECgYBjPe7UU2nDDSfmQg0++CyjNjqKRC5QPfxhH6w1uF1kMueXKJWOj42n2RutJpJmsj31nY8m0u4xpsG4HvCu/GGSFhhKZCHLvzp41oY2ubYj9nuFNU//81LycQjulWo2y0UUBY0k2piEt+SwPaiUNbT6nMxNMjlnjRe2okp/3rw+KQJBANG3YlZWoVbCEqzy64bJJLxiPsCA5ErGB0NzRGitq44xkhqGtR8ZZQyVz40pruNa58d73O2xyJSy5+fmZGn4E+sCQQC2LBnguj0CSCKub0mPDcunTTz9V79VXBBZdlB1/YGmRUx2s4sQrJNZS7rL4EqBQ3maIRnG+s+AXCSTfsYrV6CfAkEAxugnVfpelhoGepEAgNuggyivmgfl/2Gpm/jk5l/qOjib+ZrQiQmeBPzGWX4yiSM8eMDrP2sC8r5pJFMp5DRONwJBAJ4n4XuSFJ9jgwCPy3vvzSv9SYLk6E6yM9uHdUlKgoGYzk6Lh6M9QFuY/J49plFdBDiEnj16yCU3WeXXfTJpzB8CQQDMNMR/rIOTE9xGybS3mlQbt22AUnO6XhupWcckEKW4nPGxATwYBQzCY3i/9FTGN0vA+9ZPC2cwHtNxI2kXf3Vp";  // 商户私钥
    private static final String REQ_URL = "https://india-openapi.toppay.asia/pay/newOrder";

    public static void main(String[] args) throws Exception {
        create();
    }

    private static void create() throws Exception {
        // Assemble parameters according to the interface requirements
        Map<String, String> requestParams = new HashMap<>();
        requestParams.put("merchantCode", MCH_ID);
        requestParams.put("orderNum", "T1642593166888");
        requestParams.put("orderAmount", "888");
        requestParams.put("callback", "https://xxx/yyy");
        requestParams.put("timestamp", "1745377181");

        // Format the parameters, calculate the signature, and add the signature value to the request parameters
        String source = TopPaySignUtil.paramFormat(requestParams);
        requestParams.put("sign", TopPaySignUtil.sign(MCH_PRIVATE_KEY, source));

        // Serialize the parameters into JSON and initiate a POST request
        String postJson = new Gson().toJson(requestParams);
        System.out.println("Post Json Params:" + postJson);
        String responseJson = TopPaySignUtil.doPost(REQ_URL, postJson);  
        System.out.println("Response Msg:" + responseJson);
    }
}
<?php
require_once 'TopPaySignUtil.php';

class PayOrderCreate {
    const MCH_ID = 'S820211021094748000001';
    const MCH_PRIVATE_KEY = 'MIICeAIBADANBgkqhkiG9w0BAQEFAASCAmIwggJeAgEAAoGBAJU8gKFKD0luIYx7X8+JRdCIE0UDBctS6LjXxWLEv/EO7jDBTid6zYP1KmNgpd2DAWWtBFBSQ+gcNwVZZSBHJiSDqVvvJVs2FEbeBvfdv4X93+IYRAXksBasSW5Tpdshbo82pVL4V7wuKCuFLk9UxBHbpQjWAbfyF66RmwIbZD71AgMBAAECgYBjPe7UU2nDDSfmQg0++CyjNjqKRC5QPfxhH6w1uF1kMueXKJWOj42n2RutJpJmsj31nY8m0u4xpsG4HvCu/GGSFhhKZCHLvzp41oY2ubYj9nuFNU//81LycQjulWo2y0UUBY0k2piEt+SwPaiUNbT6nMxNMjlnjRe2okp/3rw+KQJBANG3YlZWoVbCEqzy64bJJLxiPsCA5ErGB0NzRGitq44xkhqGtR8ZZQyVz40pruNa58d73O2xyJSy5+fmZGn4E+sCQQC2LBnguj0CSCKub0mPDcunTTz9V79VXBBZdlB1/YGmRUx2s4sQrJNZS7rL4EqBQ3maIRnG+s+AXCSTfsYrV6CfAkEAxugnVfpelhoGepEAgNuggyivmgfl/2Gpm/jk5l/qOjib+ZrQiQmeBPzGWX4yiSM8eMDrP2sC8r5pJFMp5DRONwJBAJ4n4XuSFJ9jgwCPy3vvzSv9SYLk6E6yM9uHdUlKgoGYzk6Lh6M9QFuY/J49plFdBDiEnj16yCU3WeXXfTJpzB8CQQDMNMR/rIOTE9xGybS3mlQbt22AUnO6XhupWcckEKW4nPGxATwYBQzCY3i/9FTGN0vA+9ZPC2cwHtNxI2kXf3Vp';
    const REQ_URL = 'https://india-openapi.toppay.asia/pay/newOrder';

    public static function create() {
        $requestParams = [
            'merchantCode' => self::MCH_ID,
            'orderNum' => 'T1642593166888',
            'orderAmount' => '888',
            'callback' => 'https://xxx/yyy',
            'timestamp' => '1745377181'
        ];

        $source = TopPaySignUtil::paramFormat($requestParams);
        $requestParams['sign'] = TopPaySignUtil::sign(self::MCH_PRIVATE_KEY, $source);

        $postJson = json_encode($requestParams);
        echo "Post Json Params: $postJson\n";
        $responseJson = TopPaySignUtil::doPost(self::REQ_URL, $postJson);
        echo "Response Msg: $responseJson\n";
    }
}

PayOrderCreate::create();
?>
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Threading.Tasks;
using Newtonsoft.Json;

class PayOrderCreate
{
    private const string MCH_ID = "S820211021094748000001";
    private const string MCH_PRIVATE_KEY = "MIICeAIBADANBgkqhkiG9w0BAQEFAASCAmIwggJeAgEAAoGBAJU8gKFKD0luIYx7X8+JRdCIE0UDBctS6LjXxWLEv/EO7jDBTid6zYP1KmNgpd2DAWWtBFBSQ+gcNwVZZSBHJiSDqVvvJVs2FEbeBvfdv4X93+IYRAXksBasSW5Tpdshbo82pVL4V7wuKCuFLk9UxBHbpQjWAbfyF66RmwIbZD71AgMBAAECgYBjPe7UU2nDDSfmQg0++CyjNjqKRC5QPfxhH6w1uF1kMueXKJWOj42n2RutJpJmsj31nY8m0u4xpsG4HvCu/GGSFhhKZCHLvzp41oY2ubYj9nuFNU//81LycQjulWo2y0UUBY0k2piEt+SwPaiUNbT6nMxNMjlnjRe2okp/3rw+KQJBANG3YlZWoVbCEqzy64bJJLxiPsCA5ErGB0NzRGitq44xkhqGtR8ZZQyVz40pruNa58d73O2xyJSy5+fmZGn4E+sCQQC2LBnguj0CSCKub0mPDcunTTz9V79VXBBZdlB1/YGmRUx2s4sQrJNZS7rL4EqBQ3maIRnG+s+AXCSTfsYrV6CfAkEAxugnVfpelhoGepEAgNuggyivmgfl/2Gpm/jk5l/qOjib+ZrQiQmeBPzGWX4yiSM8eMDrP2sC8r5pJFMp5DRONwJBAJ4n4XuSFJ9jgwCPy3vvzSv9SYLk6E6yM9uHdUlKgoGYzk6Lh6M9QFuY/J49plFdBDiEnj16yCU3WeXXfTJpzB8CQQDMNMR/rIOTE9xGybS3mlQbt22AUnO6XhupWcckEKW4nPGxATwYBQzCY3i/9FTGN0vA+9ZPC2cwHtNxI2kXf3Vp";
    private const string REQ_URL = "https://india-openapi.toppay.asia/pay/newOrder";

    public static async Task Main()
    {
        await Create();
    }

    private static async Task Create()
    {
        Dictionary<string, string> requestParams = new Dictionary<string, string>
        {
            { "merchantCode", MCH_ID },
            { "orderNum", "T1642593166888" },
            { "orderAmount", "888" },
            { "callback", "https://xxx/yyy" },
            { "timestamp", "1745377181" }
        };

        var source = TopPaySignUtil.ParamFormat(requestParams);
        requestParams["sign"] = TopPaySignUtil.Sign(MCH_PRIVATE_KEY, source);

        string postJson = JsonConvert.SerializeObject(requestParams);
        Console.WriteLine($"Post Json Params: {postJson}");
        string responseJson = await TopPaySignUtil.DoPost(REQ_URL, postJson);
        Console.WriteLine($"Response Msg: {responseJson}");
    }
}
package main

import (
	"encoding/json"
	"fmt"
)

const (
	MCH_ID          = "S820211021094748000001"
	MCH_PRIVATE_KEY = "MIICeAIBADANBgkqhkiG9w0BAQEFAASCAmIwggJeAgEAAoGBAJU8gKFKD0luIYx7X8+JRdCIE0UDBctS6LjXxWLEv/EO7jDBTid6zYP1KmNgpd2DAWWtBFBSQ+gcNwVZZSBHJiSDqVvvJVs2FEbeBvfdv4X93+IYRAXksBasSW5Tpdshbo82pVL4V7wuKCuFLk9UxBHbpQjWAbfyF66RmwIbZD71AgMBAAECgYBjPe7UU2nDDSfmQg0++CyjNjqKRC5QPfxhH6w1uF1kMueXKJWOj42n2RutJpJmsj31nY8m0u4xpsG4HvCu/GGSFhhKZCHLvzp41oY2ubYj9nuFNU//81LycQjulWo2y0UUBY0k2piEt+SwPaiUNbT6nMxNMjlnjRe2okp/3rw+KQJBANG3YlZWoVbCEqzy64bJJLxiPsCA5ErGB0NzRGitq44xkhqGtR8ZZQyVz40pruNa58d73O2xyJSy5+fmZGn4E+sCQQC2LBnguj0CSCKub0mPDcunTTz9V79VXBBZdlB1/YGmRUx2s4sQrJNZS7rL4EqBQ3maIRnG+s+AXCSTfsYrV6CfAkEAxugnVfpelhoGepEAgNuggyivmgfl/2Gpm/jk5l/qOjib+ZrQiQmeBPzGWX4yiSM8eMDrP2sC8r5pJFMp5DRONwJBAJ4n4XuSFJ9jgwCPy3vvzSv9SYLk6E6yM9uHdUlKgoGYzk6Lh6M9QFuY/J49plFdBDiEnj16yCU3WeXXfTJpzB8CQQDMNMR/rIOTE9xGybS3mlQbt22AUnO6XhupWcckEKW4nPGxATwYBQzCY3i/9FTGN0vA+9ZPC2cwHtNxI2kXf3Vp"
	REQ_URL         = "https://india-openapi.toppay.asia/pay/newOrder"
)

func create() {
	requestParams := map[string]string{
		"merchantCode": MCH_ID,
		"orderNum":     "T1642593166888",
		"orderAmount":  "888",
		"callback":     "https://xxx/yyy",
		"timestamp":    "1745377181",
	}

	source := paramFormat(requestParams)
	requestParams["sign"] = sign(MCH_PRIVATE_KEY, source)

	postJson, err := json.Marshal(requestParams)
	if err != nil {
		panic(err)
	}
	fmt.Printf("Post Json Params: %s\n", string(postJson))
	responseJson, err := doPost(REQ_URL, string(postJson))
	if err != nil {
		panic(err)
	}
	fmt.Printf("Response Msg: %s\n", responseJson)
}

func main() {
	create()
}
import json
from TopPaySignUtil import TopPaySignUtil


class PayOrderCreate:
    MCH_ID = 'S820211021094748000001'
    MCH_PRIVATE_KEY = 'MIICeAIBADANBgkqhkiG9w0BAQEFAASCAmIwggJeAgEAAoGBAJU8gKFKD0luIYx7X8+JRdCIE0UDBctS6LjXxWLEv/EO7jDBTid6zYP1KmNgpd2DAWWtBFBSQ+gcNwVZZSBHJiSDqVvvJVs2FEbeBvfdv4X93+IYRAXksBasSW5Tpdshbo82pVL4V7wuKCuFLk9UxBHbpQjWAbfyF66RmwIbZD71AgMBAAECgYBjPe7UU2nDDSfmQg0++CyjNjqKRC5QPfxhH6w1uF1kMueXKJWOj42n2RutJpJmsj31nY8m0u4xpsG4HvCu/GGSFhhKZCHLvzp41oY2ubYj9nuFNU//81LycQjulWo2y0UUBY0k2piEt+SwPaiUNbT6nMxNMjlnjRe2okp/3rw+KQJBANG3YlZWoVbCEqzy64bJJLxiPsCA5ErGB0NzRGitq44xkhqGtR8ZZQyVz40pruNa58d73O2xyJSy5+fmZGn4E+sCQQC2LBnguj0CSCKub0mPDcunTTz9V79VXBBZdlB1/YGmRUx2s4sQrJNZS7rL4EqBQ3maIRnG+s+AXCSTfsYrV6CfAkEAxugnVfpelhoGepEAgNuggyivmgfl/2Gpm/jk5l/qOjib+ZrQiQmeBPzGWX4yiSM8eMDrP2sC8r5pJFMp5DRONwJBAJ4n4XuSFJ9jgwCPy3vvzSv9SYLk6E6yM9uHdUlKgoGYzk6Lh6M9QFuY/J49plFdBDiEnj16yCU3WeXXfTJpzB8CQQDMNMR/rIOTE9xGybS3mlQbt22AUnO6XhupWcckEKW4nPGxATwYBQzCY3i/9FTGN0vA+9ZPC2cwHtNxI2kXf3Vp'
    REQ_URL = 'https://india-openapi.toppay.asia/pay/newOrder'

    @staticmethod
    def create():
        request_params = {
            'merchantCode': PayOrderCreate.MCH_ID,
            'orderNum': 'T1642593166888',
            'orderAmount': '888',
            'callback': 'https://xxx/yyy',
            'timestamp': '1745377181'
        }

        source = TopPaySignUtil.param_format(request_params)
        request_params['sign'] = TopPaySignUtil.sign(PayOrderCreate.MCH_PRIVATE_KEY, source)

        post_json = json.dumps(request_params)
        print(f"Post Json Params: {post_json}")
        response_json = TopPaySignUtil.do_post(PayOrderCreate.REQ_URL, post_json)
        print(f"Response Msg: {response_json}")


if __name__ == "__main__":
    PayOrderCreate.create()
// ============= Request URL =============
const axios = require('axios');
const REQ_URL = 'https://india-openapi.toppay.asia/pay/newOrder';

// ============= Public and Private Keys used by Java side (PKCS8 format) =============
// Note: Java keys use PKCS8 format (-----BEGIN PRIVATE KEY-----)!
const privateKey = `
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCWW6LCzhvfkEwU
s1iYkfTw4hKdVFy4+cJel1T4fqdTCMiKj/PvpQKxJB3cklH+uC6UEkMLiLojMARP
Ti/6t3n/OFgGGVe1w1U1Ejx8Lx/7z2moYW9aOMBj4cNBaa6mJIMKVByZMswW3rT2
Z4S7aV4U3z+JOCLd9gA6s6cYHQJcJMB8z80Qjy5eKjcoleaPVHqg5zg38SEQOjj8
j0PbNyapaWFlLkZgNM2IFXgnUlLHyEW35aegiliZFr3DodX9pHOoL6LGpIlHZye3
xSIjh4aWB1IXYVa6t8k0PFgl4Kqf0F6FZJRu5uwBRmvz1Q5jtRyXXMw/aTWnOTBR
tyexq2B5AgMBAAECggEAZNPWdaQZdPYizs7l3ooiI1a2/OIRu8lg2mXJCUqFkl0V
fjXCczXIdFmv3LYSXinMsmb8psNtbyNIAJaB/jMDkG6MOKrN8ommngw4m15OqGIS
jGOqdGoSOeivMzJXd/qMFWUKOIGj8sItv/7zN2oVORHsXWxTlVzeEn9e0gDCEF9U
Zzrt6zKnhwOxmfb1jR4dFtXfTjOa3GASXiJ0zP3x5W07Paf6eo3J9s7OXbkZZWvJ
0ymppyuy29IFPDUhUKEQK0Y/W9xu1R9AdFEJQ4az2OLYbASfnrJ/3F6Pfr5qVuR2
neQqb2K7Tf/Wt7m1Ry9Z+5HNfslwQoXy3IMge175wQKBgQD/+G7t8ggUtvxUkhBk
kudSkCdB04Yktc2spPLUp0WVISOomaxypClZE5ewTBJ9fdooEwGZ2nKHuVt5oAfm
H2zZTMrYs6AMq4IoP1TF92DVJ09sNVRGO+K5Nx9yBnzZ7gtqms9e4z2VorTrTnJa
s1HxHgFQ2qqeq7tkyEftfffvbQKBgQCWYBSaZPYKSdfJe+LUAKVMGvwWhdwyD3kp
NcY3zE+1QVn3RPnYkPYEASaJpEOLBCOSLMH19MFuFWkClRs+nNiaZtHvjVhaHZJX
vABA1oXa4tTIXkI25fJn6D67T/uuFf2iMEfxjtjIyvFhAb7NUGjxBR0T4+xtTGZ8
msIft+LxvQKBgQDyPuSEzkT1jcO6Kc3X0OuZSJHOi2ftgB1ZIXYq6O9CVm2P13fL
uy7ifVdWYngxSZTXzjz6pTE036gBsAEpuV3jPPjQIxb6RqpUerM484gx0hUpPEM4
gN5uGQvqdtdbzBwD1OUiUP7siWKdOs2gpwqKnbHzGi7VIYOkuqLP0SJ+9QKBgQCE
mh8w8ryf3/PgIVWpOxSIIveO6OV+Y3SlKV0skQbsv78UtAdZuKKob1dLYsWIzdKM
MNmtCPKVH14lP9Txhp/er7KKemqhtJf6s7bJdiI9HW8jbTMYc/cpN3wx8trt7Uhm
gArA8QUrMwJdV4uoQzL27lpw0rkGvKtXT6TFEYOXRQKBgCWdYTeJe08xFzfsYyeO
qFKQKs/05oS17mRQTxxbFqqcGr11vp5c/dkoWE28eBe7HN2XsRAi1mUN9FQfJvt4
H6vZ7xYrnDnbXKtOCE/UMFkbROWOIn/5sBbNsCJzJdRCurrqvF5z8sTs8RQ20np7
XN6EbGBGcXvslVKo8e2DhXYk
-----END PRIVATE KEY-----
`;

const publicKey = `
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlluiws4b35BMFLNYmJH0
8OISnVRcuPnCXpdU+H6nUwjIio/z76UCsSQd3JJR/rgulBJDC4i6IzAET04v+rd5
/zhYBhlXtcNVNRI8fC8f+89pqGFvWjjAY+HDQWmupiSDClQcmTLMFt609meEu2le
FN8/iTgi3fYAOrOnGB0CXCTAfM/NEI8uXio3KJXmj1R6oOc4N/EhEDo4/I9D2zcm
qWlhZS5GYDTNiBV4J1JSx8hFt+WnoIpYmRa9w6HV/aRzqC+ixqSJR2cnt8UiI4eG
lgdSF2FWurfJNDxYJeCqn9BehWSUbubsAUZr89UOY7Ucl1zMP2k1pzkwUbcnsatg
eQIDAQAB
-----END PUBLIC KEY-----
`;

// ============= Business parameters to be signed =============
const params = {
    merchantCode: 'S820190712000002',
    orderNum: 'T16425931668144',
    orderAmount: '888',
    callback: 'https://xxx/yyy',
    timestamp: Math.floor(Date.now() / 1000), // Unix timestamp in seconds
};

// ============= Utility functions =============

// 1️⃣ Sort keys and concatenate as key=value&key=value
function getSortedQueryString(params) {
    return Object.keys(params)
        .filter(k => params[k] !== undefined && params[k] !== null && params[k] !== "")
        .sort()
        .map(key => `${key}=${params[key]}`)
        .join('&');
}

// 2️⃣ RSA private key encryption (equivalent to Java encrypt())
function rsaPrivateEncrypt(data, privateKeyPem) {
    const buffer = Buffer.from(data, 'utf8');
    const maxBlock = 245; // Same as MAX_ENCRYPT_BLOCK in Java
    const chunks = [];
    for (let offset = 0; offset < buffer.length; offset += maxBlock) {
        const chunk = buffer.slice(offset, offset + maxBlock);
        const encrypted = crypto.privateEncrypt(
            {
                key: privateKeyPem,
                padding: crypto.constants.RSA_PKCS1_PADDING,
            },
            chunk
        );
        chunks.push(encrypted);
    }
    return Buffer.concat(chunks).toString('base64');
}

// 3️⃣ RSA public key decryption (equivalent to Java decrypt())
function rsaPublicDecrypt(base64Data, publicKeyPem) {
    const buffer = Buffer.from(base64Data, 'base64');
    const maxBlock = 256;
    const chunks = [];
    for (let offset = 0; offset < buffer.length; offset += maxBlock) {
        const chunk = buffer.slice(offset, offset + maxBlock);
        const decrypted = crypto.publicDecrypt(
            {
                key: publicKeyPem,
                padding: crypto.constants.RSA_PKCS1_PADDING,
            },
            chunk
        );
        chunks.push(decrypted);
    }
    return Buffer.concat(chunks).toString('utf8');
}

// 4️⃣ Send POST request
async function sendPostRequest() {
    try {
        const sourceData = getSortedQueryString(params);
        console.log('String to be signed:', sourceData);

        // Generate Java-equivalent signature (RSA private key encryption)
        const sign = rsaPrivateEncrypt(sourceData, privateKey);
        console.log('Generated signature (Base64):', sign);

        // Verify local decryption matches original string
        const verifyResult = rsaPublicDecrypt(sign, publicKey);
        console.log('Is local verification consistent:', verifyResult === sourceData);

        // Build request payload
        const requestData = {
            ...params,
            sign: sign,
        };

        console.log('\nFinal request payload:\n', JSON.stringify(requestData, null, 2));

        // Send POST request
        const response = await axios.post(REQ_URL, requestData, {
            headers: { 'Content-Type': 'application/json' },
            timeout: 16000,
        });

        console.log('\nStatus code:', response.status);
        console.log('Response data:', response.data);
    } catch (error) {
        if (error.response) {
            console.error('❌ API error response:', error.response.data);
            console.error('Status code:', error.response.status);
        } else if (error.request) {
            console.error('❌ No response received:', error.request);
        } else {
            console.error('❌ Request failed:', error.message);
        }
    }
}

// Execute
sendPostRequest();

# Request Address

  • Request Method : POST
  • Request Address : https://india-openapi.toppay.asia/pay/newOrder

# Request Parameters

Parameter Required Description Example
merchantCode Y Merchant ID S820190712000002
orderNum Y Merchant order number T1231511321515
orderAmount Y Order amount(Unit: 1 rupees, collect-order not support decimals) 888
callback Y Callback address https://xxx/yyy
timestamp Y Timestamp (seconds), Get the system real-time time stamp 1745377181
sign Y RSA signature ja6R8eukQ...

# Request Message Example

{
  "merchantCode": "S820211021094748000001",
  "orderNum": "T1642593166888",
  "orderAmount": "888",
  "callback": "https://xxx/yyy",
  "timestamp": "1745377181",
  "sign": "lGw1OJcuUL0MGaIq44U2u2bFM5dalJJuT/G6mQWbIBT9dmVAJaLwR125emPDXYYSdnOtNxja86A2VJJLf40BCg2HevHolebvt2ay3ukCQaUhwNkIGz4KF0Ud+XMUA36LoFTWZbDYv9y8vgCnWxwZFKj7ePrfLxc+TA7jpqv65lQ\u003d"
}

# Response Parameters

  • Outer Unified Return Structure
Parameter Type Required Description Example
code int Y Interface response code 0 represents success, others represent failure
message String Y Interface response message Return specific response information
data Json Y Interface response parameters Refer to the internal structure of the data field below
  • Data Field Internal Structure
Parameter Type Required Description Example
platOrderNum String Y Platform order number PI1453242857400963072
payUrl String Y Checkout address https://xxx/yyy
paytm String Y Paytm payment wake-up paytmmp://cash_wallet?pa=abc123@asdf
upi String Y Other bank UPI payment wake-up upi://pay?pa=abc123@asdf
gpay String Y Gpay payment wake-up gpay://pay?pa=abc123@asd
phonepe String Y Phonepe payment wake-up phonepe://pay?pa=abc123@asd

# Response Message Example

{
  "success": true,
  "code": 0,
  "message": "Success",
  "data": {
    "platOrderNum": "PAY1483771634191044608",
    "payUrl": "https://xxx/yyy",
    "paytm": "paytmmp://cash_wallet?pa=abc123@asdf",
    "upi": "upi://pay?pa=abc123@asdf",
    "gpay": "gpay://pay?pa=abc123@asd",
    "phonepe": "phonepe://pay?pa=abc123@asd"
  }
}