public class OpenApiSdkTest {
public static void main(String[] args) throws Exception{
String url = "https://api-mop.chinaums.com/";
//开发者ID
String appId = "平台分配";
//开发者秘钥
String appKey = "平台分配";
//实例化客户端
ConfigBean configBean = new ConfigBean();
OpenApiContext context = new OpenApiContext();
String request = "";
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/";
$data = json_encode(array());
$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/"
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()
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
- 生产环境: `` https://api-mop.chinaums.com/
- 测试环境: `` https://test-api-open.chinaums.com/
描述:
ContentType:
请求参数
名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
---|---|---|---|---|---|
id | string | 是 | 1-36 | 通知ID 通知的唯一ID。 示例值:EV-2018022511223320873 | |
createTime | string | 是 | 1-32 | 通知创建时间 通知创建的时间,格式为yyyyMMddHHmmss(标准iso8601时间格式) 遵循rfc3339标准格式,格式为yyyy-MM-DDTHH:mm:ss+TIMEZONE,yyyy-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss.表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示北京时间2015年05月20日13点29分35秒。 示例值:2015-05-20T13:29:35+08:00 | |
eventType | string | 是 | 1-32 | 通知类型 通知的类型 1、授权成功通知的类型为PAYSCORE.USER_OPEN_SERVICE 2、解除授权成功通知的类型为PAYSCORE.USER_CLOSE_SERVICE 示例值:PAYSCORE.USER_OPEN_SERVICE | |
summary | string | 是 | 1-64 | 回调摘要 回调摘要 示例值:授权成功 | |
resource | object | 是 | 通知数据 通知资源数据 json格式 | ||
subAppId | string | 否 | 1-32 | 子商户应用ID 子商户申请的公众号或移动应用APPID | |
mid | string | 是 | 1-32 | 商户号 银商商户号 | |
serviceId | string | 是 | 1-32 | 服务ID | |
openId | string | 否 | 1-128 | 用户标识 微信用户在商户对应appid下的唯一标识。(传了sub_appid的情况下则只返回sub_openid) 示例值:oUpF8uMuAJO_M2pxb1Q9zNjWeS6o | |
subOpenId | string | 否 | 1-128 | 子商户公众号下openid 微信用户在商户对应appId下的唯一标识。(传了subAppId的情况下则只返回subOpenId) | |
userServiceStatus | string | 否 | 1-32 | 回调状态 1、USER_OPEN_SERVICE:授权成功 2、USER_CLOSE_SERVICE:解除授权成功 | |
openorcloseTime | string | 否 | 1-14 | 服务授权/解除授权时间 服务授权/解除授权成功时间。 示例值:20180225112233 | |
authorizationCode | string | 否 | 1-32 | 授权协议号 | |
resoruceType | string | 是 | 1-32 | 通知的资源数据类型 授权/解除授权成功通知为encryptreSource |
响应示例
{
}