银联商务天满服务平台
Java PHP Python



import com.chinaums.open.api.OpenApiCache;
import com.chinaums.open.api.OpenApiContext;
import com.chinaums.open.api.constants.ConfigBean;
import com.chinaums.open.api.internal.util.http.HttpTransport;
import java.util.UUID;

public class OpenApiSdkTest {
    public static void main(String[] args) throws Exception{
        String url = "https://api-mop.chinaums.com/v1/netpay/wx/mini-pre-order";
        //开发者ID
        String appId = "平台分配";
        //开发者秘钥
        String appKey = "平台分配";
        //实例化客户端
        ConfigBean configBean = new ConfigBean();
        OpenApiContext context = new OpenApiContext();
        String request = "{\"msgId\":\"\",
                    \"requestTimestamp\":\"2023-08-31 14:02:19\",
                    \"merOrderId\":\"319420230831140219\",
                    \"srcReserve\":\"\",
                    \"mid\":\"898340149000005\",
                    \"tid\":\"88880001\",
                    \"instMid\":\"MINIDEFAULT\",
                    \"goods\":\"{\"goodsId\":\"\",\"goodsName\":\"\",\"quantity\":\"\",\"price\":\"\",\"goodsCategory\":\"\",\"body\":\"\",\"unit\":\"\",\"discount\":\"\",\"subMerchantId\":\"\",\"merOrderId\":\"\",\"subOrderAmount\":\"\"}\",
                    \"attachedData\":\"\",
                    \"expireTime\":\"\",
                    \"goodsTag\":\"\",
                    \"orderDesc\":\"\",
                    \"originalAmount\":\"\",
                    \"productId\":\"\",
                    \"totalAmount\":\"1\",
                    \"divisionFlag\":\"\",
                    \"asynDivisionFlag\":\"\",
                    \"platformAmount\":\"\",
                    \"subOrders\":\"{\"mid\":\"\",\"merOrderId\":\"\",\"totalAmount\":\"\"}\",
                    \"notifyUrl\":\"\",
                    \"secureTransaction\":\"\",
                    \"placeOrderScene\":\"\",
                    \"subAppId\":\"wxc71b9ae0235a4c31\",
                    \"userId\":\"\",
                    \"tradeType\":\"\",
                    \"limitCreditCard\":\"\",
                    \"installmentNumber\":\"\",
                    \"name\":\"\",
                    \"mobile\":\"\",
                    \"certType\":\"\",
                    \"certNo\":\"\",
                    \"fixBuyer\":\"\",
                    \"retCommParams\":\"\",
                    \"thirdPartyInstalSubsFlag\":\"\",
                    \"bankCardNo\":\"\",
                    \"clientIp\":\"\",
                    \"feeRatio\":\"\",
                    \"creditFeeRatio\":\"\",
                    \"costSubsidy\":\"\",
                    \"goodsTradeNo\":\"\"}";
        context.setStartTime(System.currentTimeMillis());
        context.setRequestId(UUID.randomUUID().toString().replace("-", ""));
        context.setOpenServUrl(url.split("/v")[0].concat("/"));
        context.setApiServiceUrl(url);
        context.setVersion(url.split("/")[3]);
        context.setAppId(appId);
        context.setAppKey(appKey);
        context.setConfigBean(configBean);
        context.setServiceCode(url.split("/v")[1].substring(1));
        OpenApiCache.getCurrentToken(context);
        System.out.println(HttpTransport.getInstance().doPost(context, request));
    }
}
<?php
require_once "../utils/Log.php";
require_once "../utils/Tools.php";
require_once "../DefaultOpenApiClient.php";
class DataRequest

{
    public $url = "";
    public $serviceCode = "";
    public $apiVersion ="";
    public $needToken = true;
    public $needDataTag = false;
    public $data;

    function __construct($data, $url)
    {
        $this->data = $data;
        $apiVersion = preg_split("/[/]+/s",$url)[2];
        $this->apiVersion = $apiVersion;
        $serviceCode = strstr($url,$apiVersion);
        $this->url = strstr($url,"/".$apiVersion,true);
        $this->serviceCode = preg_replace("/^" . preg_quote($apiVersion, "/") . "/", "", $serviceCode);
    }
}

class DataDemo{
    public function main(){
        $appid = "平台分配";
        $appkey = "平台分配";
        $url = "https://api-mop.chinaums.com/v1/netpay/wx/mini-pre-order";
        $data = json_encode(array("msgId"=>"",
                    "requestTimestamp"=>"2023-08-31 14=>02=>19",
                    "merOrderId"=>"319420230831140219",
                    "srcReserve"=>"",
                    "mid"=>"898340149000005",
                    "tid"=>"88880001",
                    "instMid"=>"MINIDEFAULT",
                    "goods"=>"{"goodsId"=>"","goodsName"=>"","quantity"=>"","price"=>"","goodsCategory"=>"","body"=>"","unit"=>"","discount"=>"","subMerchantId"=>"","merOrderId"=>"","subOrderAmount"=>""}",
                    "attachedData"=>"",
                    "expireTime"=>"",
                    "goodsTag"=>"",
                    "orderDesc"=>"",
                    "originalAmount"=>"",
                    "productId"=>"",
                    "totalAmount"=>"1",
                    "divisionFlag"=>"",
                    "asynDivisionFlag"=>"",
                    "platformAmount"=>"",
                    "subOrders"=>"{"mid"=>"","merOrderId"=>"","totalAmount"=>""}",
                    "notifyUrl"=>"",
                    "secureTransaction"=>"",
                    "placeOrderScene"=>"",
                    "subAppId"=>"wxc71b9ae0235a4c31",
                    "userId"=>"",
                    "tradeType"=>"",
                    "limitCreditCard"=>"",
                    "installmentNumber"=>"",
                    "name"=>"",
                    "mobile"=>"",
                    "certType"=>"",
                    "certNo"=>"",
                    "fixBuyer"=>"",
                    "retCommParams"=>"",
                    "thirdPartyInstalSubsFlag"=>"",
                    "bankCardNo"=>"",
                    "clientIp"=>"",
                    "feeRatio"=>"",
                    "creditFeeRatio"=>"",
                    "costSubsidy"=>"",
                    "goodsTradeNo"=>""));
        $reqiest = new DataRequest($data,$url);
        $client = new DefaultOpenApiClient();
        $content = $client->execute($reqiest,$appid,$appkey);
        $obj = json_decode($content);
        print_r($obj->errCode);
        print_r($obj->errInfo);
    }
}
$p = new DataDemo();
$p->main();
?>
# -*- coding: utf-8 -*-
from webapi.DefaultOpenApiClient import DefaultOpenApiClient

url = "https://api-mop.chinaums.com/v1/netpay/wx/mini-pre-order"

class DataRequest(object):
    def __init__(self, data: dict) -> dict:
        self.data = data
        self.serviceCode = url[len(url.split("/v")[0])+len(url.split("/")[3])+1: len(url)]
        self.apiVersion = url.split("/")[3]
        self.needToken = True
        self.needDataTag = True

appId="平台分配"
appKey="平台分配"
client = DefaultOpenApiClient(appId, appKey)
cls = DataRequest({\"msgId\":\"\",
                    \"requestTimestamp\":\"2023-08-31 14:02:19\",
                    \"merOrderId\":\"319420230831140219\",
                    \"srcReserve\":\"\",
                    \"mid\":\"898340149000005\",
                    \"tid\":\"88880001\",
                    \"instMid\":\"MINIDEFAULT\",
                    \"goods\":\"{\"goodsId\":\"\",\"goodsName\":\"\",\"quantity\":\"\",\"price\":\"\",\"goodsCategory\":\"\",\"body\":\"\",\"unit\":\"\",\"discount\":\"\",\"subMerchantId\":\"\",\"merOrderId\":\"\",\"subOrderAmount\":\"\"}\",
                    \"attachedData\":\"\",
                    \"expireTime\":\"\",
                    \"goodsTag\":\"\",
                    \"orderDesc\":\"\",
                    \"originalAmount\":\"\",
                    \"productId\":\"\",
                    \"totalAmount\":\"1\",
                    \"divisionFlag\":\"\",
                    \"asynDivisionFlag\":\"\",
                    \"platformAmount\":\"\",
                    \"subOrders\":\"{\"mid\":\"\",\"merOrderId\":\"\",\"totalAmount\":\"\"}\",
                    \"notifyUrl\":\"\",
                    \"secureTransaction\":\"\",
                    \"placeOrderScene\":\"\",
                    \"subAppId\":\"wxc71b9ae0235a4c31\",
                    \"userId\":\"\",
                    \"tradeType\":\"\",
                    \"limitCreditCard\":\"\",
                    \"installmentNumber\":\"\",
                    \"name\":\"\",
                    \"mobile\":\"\",
                    \"certType\":\"\",
                    \"certNo\":\"\",
                    \"fixBuyer\":\"\",
                    \"retCommParams\":\"\",
                    \"thirdPartyInstalSubsFlag\":\"\",
                    \"bankCardNo\":\"\",
                    \"clientIp\":\"\",
                    \"feeRatio\":\"\",
                    \"creditFeeRatio\":\"\",
                    \"costSubsidy\":\"\",
                    \"goodsTradeNo\":\"\"})
response = client.execute(cls)
print(str(response.get("data")))
print(response.get("errCode"))
print(response.get("errInfo"))
print(response.get("resultCode"))
print(response.get("resultInfo"))

微信跳转小程序支付

URL

  • 生产环境: POST https://api-mop.chinaums.com/v1/netpay/wx/mini-pre-order
  • 测试环境: POST https://test-api-open.chinaums.com/v1/netpay/wx/mini-pre-order

描述:微信跳转小程序支付

ContentType:application/json

请求头

名称 必填 描述 示例值
Authorization 认证内容 (认证参考天满开发者中心->接入指引->平台认证方式:开发者中心 OPEN-BODY-SIG AppId="****",Timestamp="20170606135700",Nonce="99930a147f5353dd8a8f29a5329f37e9",Signature="IPmdGHYCcfN+mto0/02zkwoUF1NT3YqPKaUykMaec1T="

请求参数

名称 类型 必填 最大长度 描述 示例值
msgId string 64 消息ID
requestTimestamp string - 报文请 求时间 2023-08-31 14:02:19
merOrderId string 6-32 商户订 单号 319420230831140219
srcReserve string 255 请求系 统预留 字段
mid string 8-32 商户号 898340149000005
tid string 2-32 终端号 88880001
instMid string - 机构商 户号 MINIDEFAULT
goods object 商品信 息
   goodsId string 64 商品ID
   goodsName string 256 商品名 称
   quantity number - 商品数 量
   price number - 商品单 价
   goodsCategory string 64 商品分 类
   body string 1024 商品说 明
   unit string - 商品单 位
   discount number - 商品折 扣
   subMerchantId string 8-32 子商户 号
   merOrderId string 6-32 商户子 订单号
   subOrderAmount number 100000000 子商户 商品总 额
attachedData string 255 商户附 加数据
expireTime string - 订单过 期时间
goodsTag string - 商品标记
orderDesc string - 账单描述
originalAmount number 100000000 订单原始金额
productId string - 商品ID
totalAmount number 100000000 支付总金额 1
divisionFlag boolean - 分账标记
asynDivisionFlag boolean - 异步分账标记
platformAmount number 100000000 平台商户分账金额
subOrders object 子订单信息
   mid string 15 子商户号
   merOrderId string 6-32 商户子订单号
   totalAmount number 100000000 子商户分账金额
notifyUrl string 255 支付结果通知地址
secureTransaction string - 标识是否是担保交易
placeOrderScene string 200 下单场景
subAppId string 32 微信分配的子商户公众账号 ID wxc71b9ae0235a4c31
userId string - 支付宝买家ID
tradeType string - 交易类型
limitCreditCard string - 是否需要限制信用卡支付
installmentNumber number - 花呗分期数
name string 32 实名认证姓名
mobile string 20 实名认证手机号
certType string 32 实名认证证件类型
certNo string 64 实名认证证件号
fixBuyer string 32 是否需要实名认证
retCommParams string 扫码点餐类型 取值: qr_order:店内扫码点餐 pre_order:预点到店自提 home_delivery:外送到家 direct_payment:直接付款 other:其他
   foodOrderType string 32
thirdPartyInstalSubsFlag boolean - 是否开启第三方分期交易贴息
bankCardNo string 28 银行卡号
clientIp string - 客户端IP
feeRatio string - 借记卡手续费比例
creditFeeRatio string - 贷记卡手续费比例
costSubsidy boolean - 是否成本补贴,true为不判断手续费比例,false按正常判断,默认false
goodsTradeNo string - 商品交易单号

响应示例

{
  "errCode":"SUCCESS",
  "errMsg":"",
  "msgId":"",
  "srcReserve":"",
  "responseTimestamp":"2023-08-31 13:59:33",
  "merName":"测试退货5(1111)",
  "merOrderId":"319420230831140219",
  "mid":"898340149000005",
  "tid":"88880001",
  "seqId":"",
  "settleRefId":"",
  "status":"",
  "totalAmount":"1",
  "targetOrderId":"",
  "targetSys":"WXPay",
  "targetStatus":"",
  "miniPayRequest":"{
         \"miniuser\": \"1234562\",
         \"package\": \"Sign=WXPay\",
         \"minipath\": \"zxc32\",
         \"appid\": \"wxc71b9ae0235a4c31\",
         \"sign\": \"DDDDC130DB879E76AE69674AA4BEE70F\",
         \"partnerid\": \"470545142\",
         \"prepayid\": \"ori=319420230831140219\",
         \"noncestr\": \"BQwWMIVmGBWZxEoeeszpFRfYWWlDTEFF\",
         \"timestamp\": \"20230831135933\"   
  } ",
  "targetMid":"",
  "yxlmAmount":0
}

响应参数

名称 类型 必填 最大长度 描述 示例值
errCode string 64 错误代码
平台错误码
业务错误码
SUCCESS
errMsg string 255 平台错误信息
msgId string 64 消息ID
srcReserve string 255 请求系统预留字段
responseTimestamp string - 报文响应时间 2023-08-31 13:59:33
merName string - 商户名称 测试退货5(1111)
merOrderId string - 商户订单号 319420230831140219
mid string - 商户号 898340149000005
tid string - 终端号 88880001
seqId string - 平台流水号
settleRefId string - 清分ID
status string - 交易状态
totalAmount number - 支付总金额 1
targetOrderId string - 第三方订单号
targetSys string - 目标平台代码 WXPay
targetStatus string - 目标平台状态
miniPayRequest stringObject - 小程序支付用的请求报文,带有签名信息 { "miniuser": "1234562", "package": "Sign=WXPay", "minipath": "zxc32", "appid": "wxc71b9ae0235a4c31", "sign": "DDDDC130DB879E76AE69674AA4BEE70F", "partnerid": "470545142", "prepayid": "ori=319420230831140219", "noncestr": "BQwWMIVmGBWZxEoeeszpFRfYWWlDTEFF", "timestamp": "20230831135933" }
targetMid string - 支付渠道商户号,各渠道情况不同,酌情转换。
yxlmAmount number - 营销联盟优惠金额

错误码