Maintainers
Pricing
Enterprise
More
More
Documentation
Try Live
Rankings
Install
Blog
Docs7
Ask
New
Add Docs
银联商务天满服务平台
https://open.chinaums.com/saas-doc/
Admin
银联商务天满服务平台提供全面的支付处理解决方案,包括多种扫码支付方式、网银支付、APP支付、小程序支付,以及媒体资源、物流、开票和身份核验等增值商业服务。
Tokens:
2,711,000
Snippets:
7,090
Trust Score:
9.6
Update:
1 year ago
Context
Chat
Benchmark
23
Latest
Show doc for...
Code
Info
Show Results
Tokens:
Raw
Copy
Link
Tokens:
Raw
Copy
Link
### Java SDK Example for Get Voucher API Source: https://open.chinaums.com/saas-doc/openplate/netpay/upg/transaction/VxXaNwzo This Java code snippet demonstrates how to use the OpenApiSdk to call the 'get-voucher' API. It includes setting up the client context, defining request parameters, and making a POST request. ```java 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/get-voucher"; //开发者ID String appId = "平台分配"; //开发者秘钥 String appKey = "平台分配"; //实例化客户端 ConfigBean configBean = new ConfigBean(); OpenApiContext context = new OpenApiContext(); String request = "{\"requestTimestamp\":\"2022-04-19 15:40:03\", \"mid\":\"898201612345678\", \"tid\":\"88880001\", \"merOrderId\":\"327M202204141724489725391331\", \"msgId\":\"001\", \"srcReserve\":\"保留字段\", \"instMid\":\"WGDEFAULT\"}"; 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 SDK Setup Source: https://open.chinaums.com/saas-doc/openplate/netpay/official-accounts/transaction/Zd2qd5zw Basic setup for using the Chinaums Open Platform PHP SDK, including required files and class instantiation. ```php <?php require_once "../utils/Log.php"; require_once "../utils/Tools.php"; require_once "../DefaultOpenApiClient.php"; class DataRequest { ``` -------------------------------- ### Java SDK Example for Invoice Reversal Source: https://open.chinaums.com/saas-doc/openplate/openplate-invoice/r2jrV32G Demonstrates how to use the OpenApiSdk for Java to perform an invoice reversal. It shows the setup of the OpenApiContext, request parameters, and making a POST request. ```Java 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 = "/v1/invoice/reverse"; //开发者ID String appId = "平台分配"; //开发者秘钥 String appKey = "平台分配"; //实例化客户端 ConfigBean configBean = new ConfigBean(); OpenApiContext context = new OpenApiContext(); String request = "{\"merchantId\":\"", "terminalId\":\"", "merOrderDate\":\"", "merOrderId\":\""}"; 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)); } } ``` -------------------------------- ### Python Order Placement Example Source: https://open.chinaums.com/saas-doc/openplate/netpay/upg/transaction/aBXgb58G Shows how to place an order using the DefaultOpenApiClient in Python. It defines the client, constructs the request data, and executes the GET request to the Chinaums API. ```python # -*- 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)) ``` -------------------------------- ### Data Request and Client Execution Example Source: https://open.chinaums.com/saas-doc/openplate/netpay/upg/personal-upg/Q2VxGdkX Demonstrates how to create a data request, instantiate a client, and execute the request with application credentials. It also shows how to parse the response and print error codes and information. ```php class DataDemo { public function main() { $appid = "平台分配"; $appkey = "平台分配"; $url = "https://api-mop.chinaums.com取账单上的notifyUrl值"; $data = json_encode(array("mid"=>"898201612345678", "tid"=>"88880001", "attachedData"=>"", "bankInfo"=>"", "billFunds"=>"", "billFundsDesc"=>"", "couponAmount"=>"", "buyerPayAmount"=>"", "totalAmount"=>"1", "invoiceAmount"=>"", "merOrderId"=>"ZS2022041417223222", "payTime"=>"", "seqId"=>"", "settleDate"=>"", "status"=>"", "targetOrderId"=>"", "targetSys"=>"", "secureStatus"=>"", "notifyId"=>"", "随机key"=>"", "sign"=>"", "instMid"=>"WGDEFAULT", "bankCardNo"=>"", "buyerId"=>"", "buyerUsername"=>"", "receiptAmount"=>"", "refId"=>"", "refundAmount"=>"", "refundDesc"=>"", "subBuyerId"=>"", "completeAmount"=>"", "couponMerchantContribute"=>"", "couponOtherContribute"=>"", "activityIds"=>"", "refundTargetOrderId"=>"", "refundPayTime"=>"", "refundSettleDate"=>"", "orderDesc"=>"", "createTime"=>"", "mchntUuid"=>"", "connectSys"=>"", "subInst"=>"", "yxlmAmount"=>"", "refundExtOrderId"=>"", "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(); ?> ``` -------------------------------- ### PHP SDK Example for Refund Query Source: https://open.chinaums.com/saas-doc/openplate/netpay/official-accounts/transaction/5N2eZe8e Provides a PHP implementation for querying refunds using the Chinaums Open Platform SDK. It shows how to structure the request data and interact with the client to get the response. ```php <?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/refund-query"; $data = json_encode(array("requestTimestamp"=>"2022-04-15 10=>47=>59", "merOrderId"=>"124S2023071980881897", "instMid"=>"YUEDANDEFAULT", "mid"=>"898310148160568", "tid"=>"88880001", "msgId"=>"0DUNOje1Bwtue6XinEs7DWhKS2NmUCVg", "srcReserve"=>"保留字段")); $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(); ?> ``` -------------------------------- ### Data Request and Client Execution Example Source: https://open.chinaums.com/saas-doc/openplate/netpay/upg/transaction/WL2yyJ2m Demonstrates how to create a data request, instantiate a client, and execute the request with application credentials. It also shows how to parse the response and print error codes and information. ```php class DataDemo { public function main() { $appid = "平台分配"; $appkey = "平台分配"; $url = "https://api-mop.chinaums.com取账单上的notifyUrl值"; $data = json_encode(array("mid"=>"898201612345678", "tid"=>"88880001", "attachedData"=>"", "bankInfo"=>"", "billFunds"=>"", "billFundsDesc"=>"", "couponAmount"=>"", "buyerPayAmount"=>"", "totalAmount"=>"1", "invoiceAmount"=>"", "merOrderId"=>"ZS2022041417223222", "payTime"=>"", "seqId"=>"", "settleDate"=>"", "status"=>"", "targetOrderId"=>"", "targetSys"=>"", "secureStatus"=>"", "notifyId"=>"", "随机key"=>"", "sign"=>"", "instMid"=>"WGDEFAULT", "bankCardNo"=>"", "buyerId"=>"", "buyerUsername"=>"", "receiptAmount"=>"", "refId"=>"", "refundAmount"=>"", "refundDesc"=>"", "subBuyerId"=>"", "completeAmount"=>"", "couponMerchantContribute"=>"", "couponOtherContribute"=>"", "activityIds"=>"", "refundTargetOrderId"=>"", "refundPayTime"=>"", "refundSettleDate"=>"", "orderDesc"=>"", "createTime"=>"", "mchntUuid"=>"", "connectSys"=>"", "subInst"=>"", "yxlmAmount"=>"", "refundExtOrderId"=>"", "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(); ?> ``` -------------------------------- ### Java H5 Pay Integration Example Source: https://open.chinaums.com/saas-doc/openplate/netpay/h5/transaction/p58pkD23 Demonstrates how to integrate with the Chinaums H5 Pay API using Java. It includes setting up the API context, defining request parameters, and making a GET request. ```java 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/trade/h5-pay"; //开发者ID String appId = "平台分配"; //开发者秘钥 String appKey = "平台分配"; //实例化客户端 ConfigBean configBean = new ConfigBean(); OpenApiContext context = new OpenApiContext(); String request = "{\"requestTimestamp\":\"2022-04-19 15:25:03\", \"merOrderId\":\"327M100220413916204214422\", \"mid\":\"898201612345678\", \"tid\":\"88880001\", \"instMid\":\"H5DEFAULT\", \"totalAmount\":\"1\", \"msgId\":\"\", \"srcReserve\":\"\", \"goods\":\"[{\"goodsId\":\"\",\"goodsName\":\"\",\"quantity\":\"\",\"price\":\"\",\"goodsCategory\":\"\",\"body\":\"\",\"subMerchantId\":\"\",\"merOrderId\":\"100220413916204214422\",\"subOrderAmount\":\"\"}]\", \"attachedData\":\"\", \"orderDesc\":\"\", \"goodsTag\":\"\", \"originalAmount\":\"\", \"expireTime\":\"\", \"secureTransaction\":\"\", \"notifyUrl\":\"\", \"returnUrl\":\"\", \"systemId\":\"\", \"sceneType\":\"\", \"merAppName\":\"\", \"merAppId\":\"\", \"limitCreditCard\":\"\", \"divisionFlag\":\"\", \"platformAmount\":\"\", \"subOrders\":\"[{\"mid\":\"898201612345678\",\"merOrderId\":\"100220413916204214422\",\"totalAmount\":\"1\"}]\", \"name\":\"\", \"mobile\":\"\", \"certType\":\"\", \"certNo\":\"\", \"fixBuyer\":\"\", \"bankCardNo\":\"\", \"installmentNumber\":\"\", \"retCommParams\":\"{\"foodOrderType\":\"}\", \"instalFlag\":\"\", \"mchntInstalRatio\":\"\", \"mchntDiscountRatio\":\"\", \"cardNoLockFlag\":\"\", \"custId\":\"\", \"thirdPartyInstalSubsFlag\":\"\", \"asynDivisionFlag\":\"\", \"largeScreenFlag\":\"\", \"clientIp\":\"\", \"disablePayChnl\":\"balance-余额 moneyFund-余额宝 debitCardExpress-借记卡快捷 creditCard-信用卡 pcredit-花呗 pcreditpayInstallment-花呗分期 coupon-红包 point-积分 promotion-优惠(包含实时优惠+商户优惠) voucher-营销券 mdiscount-商户优惠\"}"; context.setApiServiceUrl(url); context.setAppId(appId); context.setAppKey(appKey); context.setConfigBean(configBean); System.out.println(HttpTransport.getInstance().doGet(context, request)); } } ``` -------------------------------- ### Java SDK Initialization and Request Example Source: https://open.chinaums.com/saas-doc/openplate/netpay/app/transaction/Rd8xZ9zg Demonstrates how to initialize the OpenApiContext with necessary credentials and configuration, and how to construct a request payload for an order processing API. This example shows setting up the client, defining request parameters, and obtaining an access token. ```java 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/applepay/order"; //开发者ID String appId = "平台分配"; //开发者秘钥 String appKey = "平台分配"; //实例化客户端 ConfigBean configBean = new ConfigBean(); OpenApiContext context = new OpenApiContext(); String request = "{\"requestTimestamp\":\"2022-04-14 17:29:10\", \"merOrderId\":\"327M222041472448972539133\", \"mid\":\"898340149000005\", \"tid\":\"00000001\", \"instMid\":\"APPDEFAULT\", \"totalAmount\":\"1\", \"msgId\":\"0DUNOje1Bwtue6XinEs7DWhKS2NmUCVg\", \"srcReserve\":\"C20220119000001\", \"subAppId\":\"wxd65fdb19eb954626\", \"goods\":\"[{\"goodsId\":\"001\",\"goodsName\":\"鸡蛋\",\"quantity\":\"10\",\"price\":\"1\",\"goodsCategory\":\"food meterial\",\"body\":\"two eggs\",\"unit\":\"个\",\"discount\":\"5\",\"subMerchantId\":\"988460101800201\",\"merOrderId\":\"20200225160000001sub01\",\"subOrderAmount\":\"100\"}]\", \"attachedData\":\"\", \"expireTime\":\"2022-07-19 16:31:59\", \"goodsTag\":\"\", \"orderDesc\":\"测试\", \"originalAmount\":\"100\", \"productId\":\"002\", \"divisionFlag\":\"true\", \"platformAmount\":\"100\", \"subOrders\":\"[{\"mid\":\"988460101800201\",\"totalAmount\":\"100\",\"merOrderId\":\"20200225160000001sub01\"}]\", \"notifyUrl\":\"http://www.test.com/notify\", \"showUrl\":\"\", \"secureTransaction\":\"false\", \"tradeType\":\"APP\", \"merchantUserId\":\"898310148160568\", \"mobile\":\"131****3453\", \"limitCreditCard\":\"false\", \"installmentNumber\":\"3\", \"enablePayChnl\":\"moneyFund\", \"retCommParams\":\"{\"foodOrderType\":\"pre_order\"}\", \"thirdPartyInstalSubsFlag\":\"true\", \"supportBank\":\"CCB\", \"invokeType\":\"\", \"name\":\"张*三\", \"certType\":\"IDENTITY_CARD\", \"certNo\":\"110101********9008\", \"fixBuyer\":\"true\", \"asynDivisionFlag\":\"true\", \"preauthTransaction\":\"true\", \"targetAppScheme\":\"\", \"ylyxId\":\"\", \"ylyxName\":\"\", \"clientIp\":\"\"}"; 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); ``` -------------------------------- ### PHP SDK Example for Get Voucher API Source: https://open.chinaums.com/saas-doc/openplate/netpay/upg/transaction/VxXaNwzo This PHP code snippet demonstrates how to use the DefaultOpenApiClient to call the 'get-voucher' API. It shows how to construct a DataRequest object with the necessary data and parameters, and then execute the request. ```php <?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/upg/get-voucher"; $data = json_encode(array("requestTimestamp"=>"2022-04-19 15=>40=>03", "mid"=>"898201612345678", "tid"=>"88880001", "merOrderId"=>"327M202204141724489725391331", "msgId"=>"001", "srcReserve"=>"保留字段", "instMid"=>"WGDEFAULT")); $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(); ?> ``` -------------------------------- ### Java SDK Example: Refund Query Source: https://open.chinaums.com/saas-doc/openplate/web-api/wxentrustedpay/common-api/wXPNRxr2 Demonstrates how to use the OpenApiSdk to perform a refund query. It includes setting up the API context with credentials, request details, and making a POST request. ```Java public class OpenApiSdkTest { public static void main(String[] args) throws Exception{ String url = "https://api-mop.chinaums.com/v1/inip/corporate-wallet/wechat-pay-point/order/refund-query"; //开发者ID String appId = "平台分配"; //开发者秘钥 String appKey = "平台分配"; //实例化客户端 ConfigBean configBean = new ConfigBean(); OpenApiContext context = new OpenApiContext(); String request = "{\"requestTimestamp\":\"", "mid\":\"", "tid\":\"", "merOrderId\":\"", "srcReserve\":\""}"; 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)); } } ``` -------------------------------- ### Java SDK Initialization and Request Example Source: https://open.chinaums.com/saas-doc/openplate/netpay/mini-program/transaction/WL2yVJ8m Demonstrates how to initialize the Chinaums Open API SDK in Java, set up the context with necessary credentials and URLs, and prepare a sample request payload for a mini-order payment. This includes setting up application IDs, keys, service URLs, and request parameters. ```java 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/uac/mini-order"; //开发者ID String appId = "平台分配"; //开发者秘钥 String appKey = "平台分配"; //实例化客户端 ConfigBean configBean = new ConfigBean(); OpenApiContext context = new OpenApiContext(); String request = "{\"requestTimestamp\":\"2022-04-20 10:10:13\", \"merOrderId\":\"13DA002023071900000000003327\", \"mid\":\"898201612345678\", \"tid\":\"88880001\", \"totalAmount\":\"1\", \"tradeType\":\"MINI\", \"msgId\":\"001\", \"srcReserve\":\"test\", \"instMid\":\"MINIDEFAULT\", \"goods\":\"[{\"goodsId\":\"001\",\"goodsName\":\"鸡蛋\",\"quantity\":\"10\",\"price\":\"1\",\"goodsCategory\":\"food meterial\",\"body\":\"two eggs\",\"unit\":\"个\",\"discount\":\"5\",\"subMerchantId\":\"\",\"merOrderId\":\"dd20220419111222\",\"subOrderAmount\":\"200\"}]\", \"attachedData\":\"\", \"expireTime\":\"2022-04-20 15:50:10\", \"goodsTag\":\"\", \"orderDesc\":\"测试\", \"originalAmount\":\"200\", \"productId\":\"002\", \"divisionFlag\":\"true\", \"asynDivisionFlag\":\"true\", \"platformAmount\":\"200\", \"subOrders\":\"[{\"mid\":\"898201612345678\",\"merOrderId\":\"dd20220419111222\",\"totalAmount\":\"1\"}]\", \"notifyUrl\":\"http://www.test.com/notify\", \"secureTransaction\":\"\", \"subAppId\":\"\", \"userId\":\"\", \"limitCreditCard\":\"true\", \"installmentNumber\":\"3\", \"name\":\"张*三\", \"mobile\":\"131****345\", \"certType\":\"IDENTITY_CARD\", \"certNo\":\"110101********9008\", \"fixBuyer\":\"true\", \"retCommParams\":\"{\"foodOrderType\":\"pre_order\",\"parkId\":\"\",\"vehicleNo\":\"\"}\", \"feeRatio\":\"5\", \"costSubsidy\":\"\", \"preauthTransaction\":\"true\", \"clientIp\":\"\", \"subOpenId\":\"\", \"invokeScene\":\"\", \"discountCode\":\"\", \"ylyxId\":\"\", \"ylyxName\":\"\", \"ylyxMerAbbr\":\"\", \"instalFlag\":\"\"}"; 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); ``` -------------------------------- ### Java SDK Example for Refund Query Source: https://open.chinaums.com/saas-doc/openplate/netpay/h5/transaction/m32QAp20 Demonstrates how to use the Java SDK to perform a refund query. It includes setting up the OpenApiContext, defining request parameters, and making the POST request. ```java 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/refund-query"; //开发者ID String appId = "平台分配"; //开发者秘钥 String appKey = "平台分配"; //实例化客户端 ConfigBean configBean = new ConfigBean(); OpenApiContext context = new OpenApiContext(); String request = "{\"requestTimestamp\":\"2022-04-15 10:47:59\", \"merOrderId\":\"124S2023071980881897\", \"instMid\":\"H5DEFAULT\", \"mid\":\"898310148160568\", \"tid\":\"88880001\", \"msgId\":\"0DUNOje1Bwtue6XinEs7DWhKS2NmUCVg\", \"srcReserve\":\"保留字段\"}"; 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)); } } ``` -------------------------------- ### Chinaums SaaS API Execution Example (PHP) Source: https://open.chinaums.com/saas-doc/openplate/netpay/h5/transaction/p58pkD23 This snippet demonstrates how to execute a GET request to the Chinaums SaaS API using the DefaultOpenApiClient. It includes setting up request parameters, executing the request, and processing the JSON response. ```PHP <?php class DataDemo { public function main() { $appid = ""; $appkey = ""; $url = ""; $data = array( "merOrderId" => "327M100220413916204214422", "mid" => "898201612345678", "tid" => "88880001", "instMid" => "H5DEFAULT", "totalAmount" => "1", "msgId" => "", "srcReserve" => "", "goods" => json_encode(array([{"goodsId" => "", "goodsName" => "", "quantity" => "", "price" => "", "goodsCategory" => "", "body" => "", "subMerchantId" => "", "merOrderId" => "100220413916204214422", "subOrderAmount" => ""}])), "attachedData" => "", "orderDesc" => "", "goodsTag" => "", "originalAmount" => "", "expireTime" => "", "secureTransaction" => "", "notifyUrl" => "", "returnUrl" => "", "systemId" => "", "sceneType" => "", "merAppName" => "", "merAppId" => "", "limitCreditCard" => "", "divisionFlag" => "", "platformAmount" => "", "subOrders" => json_encode(array([{"mid" => "898201612345678", "merOrderId" => "100220413916204214422", "totalAmount" => "1"}])), "name" => "", "mobile" => "", "certType" => "", "certNo" => "", "fixBuyer" => "", "bankCardNo" => "", "installmentNumber" => "", "retCommParams" => "{"foodOrderType"=>""}", "instalFlag" => "", "mchntInstalRatio" => "", "mchntDiscountRatio" => "", "cardNoLockFlag" => "", "custId" => "", "thirdPartyInstalSubsFlag" => "", "asynDivisionFlag" => "", "largeScreenFlag" => "", "clientIp" => "", "disablePayChnl" => "balance-余额 moneyFund-余额宝 debitCardExpress-借记卡快捷 creditCard-信用卡 pcredit-花呗 pcreditpayInstallment-花呗分期 coupon-红包 point-积分 promotion-优惠(包含实时优惠+商户优惠) voucher-营销券 mdiscount-商户优惠") ); $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(); ?> ``` -------------------------------- ### Java SDK Example for Qualification Status Query Source: https://open.chinaums.com/saas-doc/openplate/media/L2k6pMzP Demonstrates how to use the Java SDK to query the qualification status of media advertisements. It includes setting up the client context, defining request parameters, and making a POST request. ```java 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 = "/v1/media/advertisement/queryqualifystatus"; //开发者ID String appId = "平台分配"; //开发者秘钥 String appKey = "平台分配"; //实例化客户端 ConfigBean configBean = new ConfigBean(); OpenApiContext context = new OpenApiContext(); String request = "{\"qualify_id\":\"\"}"; 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)); } } ``` -------------------------------- ### Stop/Start Advertisement - PHP Example Source: https://open.chinaums.com/saas-doc/openplate/media/E8rZBO80 This PHP code snippet shows how to stop or start advertisements using the Open China UMS SDK. It defines a DataRequest class to structure the request and uses DefaultOpenApiClient to execute the operation. ```PHP <?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(array $args = []){ $appid = "平台分配"; $appkey = "平台分配"; $url = "/v1/media/advertisement/stopads "; $data = json_encode(array("advType"=>"", "advId"=>"", "operation"=>"")); $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(); ?> ``` -------------------------------- ### Java SDK Initialization and Request Example Source: https://open.chinaums.com/saas-doc/openplate/netpay/upg/personal-upg/Q2VxGdkX Demonstrates how to initialize the Chinaums Open API client in Java, set up the request context with necessary parameters like App ID, App Key, and API URL, and make a POST request. It includes a sample JSON payload for a transaction. ```Java 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取账单上的notifyUrl值"; //开发者ID String appId = "平台分配"; //开发者秘钥 String appKey = "平台分配"; //实例化客户端 ConfigBean configBean = new ConfigBean(); OpenApiContext context = new OpenApiContext(); String request = "{\"mid\":\"898201612345678\", \"tid\":\"88880001\", \"attachedData\":\"\", \"bankInfo\":\"\", \"billFunds\":\"\", \"billFundsDesc\":\"\", \"couponAmount\":\"\", \"buyerPayAmount\":\"\", \"totalAmount\":\"1\", \"invoiceAmount\":\"\", \"merOrderId\":\"ZS2022041417223222\", \"payTime\":\"\", \"seqId\":\"\", \"settleDate\":\"\", \"status\":\"\", \"targetOrderId\":\"\", \"targetSys\":\"\", \"secureStatus\":\"\", \"notifyId\":\"\", \"随机key\":\"\", \"sign\":\"\", \"instMid\":\"WGDEFAULT\", \"bankCardNo\":\"\", \"buyerId\":\"\", \"buyerUsername\":\"\", \"receiptAmount\":\"\", \"refId\":\"\", \"refundAmount\":\"\", \"refundDesc\":\"\", \"subBuyerId\":\"\", \"completeAmount\":\"\", \"couponMerchantContribute\":\"\", \"couponOtherContribute\":\"\", \"activityIds\":\"\", \"refundTargetOrderId\":\"\", \"refundPayTime\":\"\", \"refundSettleDate\":\"\", \"orderDesc\":\"\", \"createTime\":\"\", \"mchntUuid\":\"\", \"connectSys\":\"\", \"subInst\":\"\", \"yxlmAmount\":\"\", \"refundExtOrderId\":\"\", \"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)); } } ``` -------------------------------- ### Stop/Start Advertisement - Python Example Source: https://open.chinaums.com/saas-doc/openplate/media/E8rZBO80 This Python code snippet demonstrates how to stop or start advertisements using the Open China UMS SDK. It defines a DataRequest class and uses DefaultOpenApiClient to send the request and process the response. ```Python # -*- coding: utf-8 -*- from webapi.DefaultOpenApiClient import DefaultOpenApiClient url = "/v1/media/advertisement/stopads " 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({"advType":"", "advId":"", "operation":""}) 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")) ``` -------------------------------- ### Java SDK Example for ID Card Verification Source: https://open.chinaums.com/saas-doc/openplate/datacenter/smartverification_encrypted/aBXgrZ8G Demonstrates how to use the Chinaums Open API Java SDK to perform an encrypted ID card verification. It shows the setup of the OpenApiContext, request parameters, and making a POST request. ```Java 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 = "/v1/datacenter/smartverification/encrypted/idcard/verify"; //开发者ID String appId = "平台分配"; //开发者秘钥 String appKey = "平台分配"; //实例化客户端 ConfigBean configBean = new ConfigBean(); OpenApiContext context = new OpenApiContext(); String request = "{\"data\":\"\"}"; 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)); } } ``` -------------------------------- ### Java SDK Example for Order Completion Source: https://open.chinaums.com/saas-doc/openplate/web-api/wxentrustedpay/common-api/L2kqOlnX This Java code snippet demonstrates how to use the OpenApiSdk to complete an order. It includes setting up the API context with credentials, request details, and making a POST request to the specified URL. It handles token retrieval and logging of the response. ```java public class OpenApiSdkTest { public static void main(String[] args) throws Exception{ String url = "https://api-mop.chinaums.com/v1/inip/corporate-wallet/wechat-pay-point/order/complete"; //开发者ID String appId = "平台分配"; //开发者秘钥 String appKey = "平台分配"; //实例化客户端 ConfigBean configBean = new ConfigBean(); OpenApiContext context = new OpenApiContext(); String request = "{\"fenOrderId\":\"\", \"mid\":\"\", \"serviceId\":\"\", \"postPayments\":\"[{\"name\":\"\",\"amount\":\"\",\"description\":\"\",\"count\":\"\"}]\", \"totalAmount\":\"\", \"timeRange\":\"{\"startTime\":\"\",\"startTimeRemark\":\"\",\"endTime\":\"\",\"endTimeRemark\":\"\"}\", \"payInfo\":\"{\"paySsn\":\"\",\"payTime\":\"\",\"payToolTp\":\"\",\"payFrm\":\"\",\"payAcctNo\":\"\",\"termSsn\":\"\",\"netpayRespCd\":\"\",\"netpayRespInfo\":\"\",\"netpayOrdStat\":\"\",\"netpayBuyerUnm\":\"\",\"netpayTxnDestsysCd\":\"\",\"netpayTxnDestsysDscrb\":\"\",\"refNo\":\"\",\"netpayBankInfo\":\"\",\"targetOrderId\":\"\",\"stlDt\":\"\"}\", \"postDiscounts\":\"[{\"name\":\"\",\"description\":\"\",\"amount\":\"\",\"count\":\"\"}]\", \"location\":\"{\"endLocation\":\"\"}\", \"completeTime\":\""}"; 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)); } } ```