银联商务天满服务平台
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/upg/order";
        //开发者ID
        String appId = "平台分配";
        //开发者秘钥
        String appKey = "平台分配";
        //实例化客户端
        ConfigBean configBean = new ConfigBean();
        OpenApiContext context = new OpenApiContext();
        String request = "{\"requestTimestamp\":\"2022-04-19 15:40:03\",
                    \"merOrderId\":\"327M2022088417223222\",
                    \"mid\":\"898201612345678\",
                    \"tid\":\"88880001\",
                    \"instMid\":\"WGDEFAULT\",
                    \"totalAmount\":\"\",
                    \"msgId\":\"001\",
                    \"srcReserve\":\"保留字段\",
                    \"goods\":\"[{\"goodsId\":\"\",\"goodsName\":\"\",\"quantity\":\"\",\"price\":\"\",\"goodsCategory\":\"\",\"body\":\"\",\"subMerchantId\":\"\",\"merOrderId\":\"ZS2022041417223222\",\"subOrderAmount\":\"\"}]\",
                    \"attachedData\":\"\",
                    \"orderDesc\":\"\",
                    \"goodsTag\":\"\",
                    \"originalAmount\":\"\",
                    \"expireTime\":\"\",
                    \"notifyUrl\":\"\",
                    \"returnUrl\":\"\",
                    \"systemId\":\"\",
                    \"limitCreditCard\":\"\",
                    \"divisionFlag\":\"\",
                    \"platformAmount\":\"\",
                    \"subOrders\":\"[{\"mid\":\"898310173992585\",\"merOrderId\":\"ZS2022041417223222\",\"totalAmount\":\"1\",\"goodsActlNum\":\"\",\"goods\":\"\"}]\",
                    \"transType\":\"UPG_PERSONAL\",
                    \"bizType\":\"\",
                    \"chnlNo\":\"\",
                    \"chnlType\":\"PC\",
                    \"payerAcctNo\":\"\"}";
        context.setApiServiceUrl(url);
        context.setAppId(appId);
        context.setAppKey(appKey);
        context.setConfigBean(configBean);
        System.out.println(HttpTransport.getInstance().doGet(context, request));
    }
}
<?php
require_once "../utils/Log.php";
require_once "../DefaultOpenApiClient.php";

class DataDemo{
    public function main(){

        $appid = "平台分配";
        $appkey = "平台分配";
        $url = "https://api-mop.chinaums.com/v1/netpay/upg/order";
        $data = json_encode(array("requestTimestamp"=>"2022-04-19 15=>40=>03",
                    "merOrderId"=>"327M2022088417223222",
                    "mid"=>"898201612345678",
                    "tid"=>"88880001",
                    "instMid"=>"WGDEFAULT",
                    "totalAmount"=>"",
                    "msgId"=>"001",
                    "srcReserve"=>"保留字段",
                    "goods"=>"json_encode(array([{"goodsId"=>"","goodsName"=>"","quantity"=>"","price"=>"","goodsCategory"=>"","body"=>"","subMerchantId"=>"","merOrderId"=>"ZS2022041417223222","subOrderAmount"=>""}]))",
                    "attachedData"=>"",
                    "orderDesc"=>"",
                    "goodsTag"=>"",
                    "originalAmount"=>"",
                    "expireTime"=>"",
                    "notifyUrl"=>"",
                    "returnUrl"=>"",
                    "systemId"=>"",
                    "limitCreditCard"=>"",
                    "divisionFlag"=>"",
                    "platformAmount"=>"",
                    "subOrders"=>"json_encode(array([{"mid"=>"898310173992585","merOrderId"=>"ZS2022041417223222","totalAmount"=>"1","goodsActlNum"=>"","goods"=>""}]))",
                    "transType"=>"UPG_PERSONAL",
                    "bizType"=>"",
                    "chnlNo"=>"",
                    "chnlType"=>"PC",
                    "payerAcctNo"=>""));
        $client = new DefaultOpenApiClient();
        $content = $client->executeGet($appid,$appkey,$url,$data);
        $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/upg/order"

class DataRequest(object):
    def __init__(self, data: dict) -> dict:
        self.data = data
appId = "平台分配"
appKey = "平台分配"
client = DefaultOpenApiClient(appId, appKey,url)
cls = DataRequest({\"requestTimestamp\":\"2022-04-19 15:40:03\",
                    \"merOrderId\":\"327M2022088417223222\",
                    \"mid\":\"898201612345678\",
                    \"tid\":\"88880001\",
                    \"instMid\":\"WGDEFAULT\",
                    \"totalAmount\":\"\",
                    \"msgId\":\"001\",
                    \"srcReserve\":\"保留字段\",
                    \"goods\":\"[{\"goodsId\":\"\",\"goodsName\":\"\",\"quantity\":\"\",\"price\":\"\",\"goodsCategory\":\"\",\"body\":\"\",\"subMerchantId\":\"\",\"merOrderId\":\"ZS2022041417223222\",\"subOrderAmount\":\"\"}]\",
                    \"attachedData\":\"\",
                    \"orderDesc\":\"\",
                    \"goodsTag\":\"\",
                    \"originalAmount\":\"\",
                    \"expireTime\":\"\",
                    \"notifyUrl\":\"\",
                    \"returnUrl\":\"\",
                    \"systemId\":\"\",
                    \"limitCreditCard\":\"\",
                    \"divisionFlag\":\"\",
                    \"platformAmount\":\"\",
                    \"subOrders\":\"[{\"mid\":\"898310173992585\",\"merOrderId\":\"ZS2022041417223222\",\"totalAmount\":\"1\",\"goodsActlNum\":\"\",\"goods\":\"\"}]\",
                    \"transType\":\"UPG_PERSONAL\",
                    \"bizType\":\"\",
                    \"chnlNo\":\"\",
                    \"chnlType\":\"PC\",
                    \"payerAcctNo\":\"\"})
response = client.executeGet(cls)
print(str(response.text))

下单

URL

  • 生产环境: GET https://api-mop.chinaums.com/v1/netpay/upg/order
  • 测试环境: GET https://test-api-open.chinaums.com/v1/netpay/upg/order

描述:本接口为商户的订单信息发向银商网络支付前置系统以获取支付要素. 商户需遵循商户订单号生成规范,即以银商分配的4位来源编号作为账单号的前4位,且在商户系统中此账单号保证唯一。总长度需大于6位,小于32位。银商的推荐规则为(无特殊情况下,建议遵守此规则):{来源编号(4位)}{时间(yyyyMMddmmHHssSSS)(17位)}{11位随机数}1、调用该接口时所有上送报文里的上送字段值,若包含了特殊字符的 须进行urlencode加密(1. urlencode加密是utf-8格式; 2.只对上送报文的字段值进行加密,生成签名时的待签字串仍用原始字符)2、对于银联新网关支付,当业务种类bizType是理财场景时,实名认证信息为必填

ContentType:HTTP(S)

URL参数

参数名称 说明 类型 长度 必填 备注
authorization 认证方式 string 值为OPEN-FORM-PARAM
appId AppId string <=32
timestamp 时间戳 string 14 yyyyMMddHHmmss
nonce 随机数 string <=128
content 业务内容 string
signature 签名 string Base64_Encode(HmacSHA256(appId + timestamp + nonce + SHA256_HEX(content), AppKey))

业务内容

名称 类型 必填 最大长度 描述 示例值
requestTimestamp string 报文请求时间 格式yyyy-MM-dd HH:mm:ss 2022-04-19 15:40:03
merOrderId string 6..32 商户订单号 商户自行生成 327M2022088417223222
mid string 15 商户号 898201612345678
tid string 8 终端号 88880001
instMid string 8..32 业务类型 WGDEFAULT WGDEFAULT
totalAmount number 1..100000000 支付总金额 单位分 若divisionFlag为true,则:
totalAmount =subOrders字段中的所有totalAmount值之和
platformAmount值 =goods中的所有subOrderAmount值之和。
msgId string <=64 消息ID 原样返回 001
srcReserve string <=255 请求系统预留字段 保留字段
goods array 商品信息 在传分账标记的情况下,若传子商户号,子商户商品金额必传,即goods字段中每个元素中subMerchantId与subOrderAmount不能为空,元素不能超过20个。(goods里所有子商户商品总额要与支付总额totalAmount相等)
   goodsId string 商品ID
   goodsName string 商品名称
   quantity string 商品数量
   price string 商品单价(分)
   goodsCategory string 商品分类
   body string 商品说明
   subMerchantId string 15 子商户号
   merOrderId string 6..32 商户子订单号 ZS2022041417223222
   subOrderAmount number 0..100000000 子商户商品总额
attachedData string <=255 商户附加数据
orderDesc string <=255 账单描述
goodsTag string <=32 商品标记 用于优惠活动
originalAmount number 1..100000000 订单原始金额 单位分,用于记录前端系统打折前的金额
expireTime string 订单过期时间 yyyy-MM-dd HH:mm:ss
notifyUrl string <=255 支付结果通知地址
returnUrl string <=255 网页跳转地址
systemId string <=32 系统ID
limitCreditCard string 是否需要限制信用卡支付 取值:true或false,默认false
divisionFlag boolean 分账标记 暂时只支持微信、支付宝支付、银联云闪付和网关支付。 若为true,则goods字段和subOrders字段不能同时为空,且secureTransaction字段上送false或不上送。
platformAmount number 0..100000000 平台商户分账金额 若分账标记传,则分账金额必传
subOrders array 子订单信息 在传分账标记的情况下,若传子商户号,子商户分账金额必传,即ubOrders每个元素的mid和totalAmount非空且mid不超过20个。(分账方案subOrders里子商户分账总额+platformAmount要与支付总额totalAmount相等)。 在传分账标记的情况下,接口中goods和subOrders二者必传其一;若传goods则分账信息会按goods中每个商品的总额占支付总额减平台分账金额等比例生成;若传subOrders,则分账信息则严格按subOrders里的分账方案生成。
   mid string 15 子商户号 898310173992585
   merOrderId string 6..32 商户子订单号 ZS2022041417223222
   totalAmount number 0..100000000 子商户分账金额 1
   goodsActlNum number 99999 商品种类实际数量
   goods string
      goodsName string 64 商品名称
      quantity number 100000000 商品数量
      subOrderAmount number 100000000 商品总金额
transType string <=30 网关交易类型 注意:网关交易时需要填写。
UPG_PERSONAL:个人网关支付;
UPG_PERSONAL_PREAUTH:个人网关预授权;
UPG_BUSINESS:企业网关支付;
UPG_PERSONAL
bizType string <=30 网关业务种类 注意:网关交易时需要填写。 见取值说明
chnlNo string <=16 网关渠道标识,用来标识发卡机构的网关电子渠道 注意:网关交易时需要填写。 见取值说明
chnlType string <=10 网关交易受理渠道 在终端类型的基础上进一步明确交易请求发起的受理渠道。 注意:网关交易时需要填写。
电脑浏览器:PC
手机浏览器:H5
手机APP:APP
其他:OTHERS
PC
payerAcctNo string 64 付款方账号