// This file is auto-generated, don't edit it. Thanks. package com.alipay.easysdk.payment.common; import com.aliyun.tea.*; import com.alipay.easysdk.payment.common.models.*; public class Client { public com.alipay.easysdk.kernel.Client _kernel; public Client(com.alipay.easysdk.kernel.Client kernel) throws Exception { this._kernel = kernel; } public AlipayTradeCreateResponse create(String subject, String outTradeNo, String totalAmount, String buyerId) throws Exception { java.util.Map runtime_ = TeaConverter.buildMap( new TeaPair("ignoreSSL", _kernel.getConfig("ignoreSSL")), new TeaPair("httpProxy", _kernel.getConfig("httpProxy")), new TeaPair("connectTimeout", 15000), new TeaPair("readTimeout", 15000), new TeaPair("retry", TeaConverter.buildMap( new TeaPair("maxAttempts", 0) )) ); TeaRequest _lastRequest = null; long _now = System.currentTimeMillis(); int _retryTimes = 0; while (Tea.allowRetry((java.util.Map) runtime_.get("retry"), _retryTimes, _now)) { if (_retryTimes > 0) { int backoffTime = Tea.getBackoffTime(runtime_.get("backoff"), _retryTimes); if (backoffTime > 0) { Tea.sleep(backoffTime); } } _retryTimes = _retryTimes + 1; try { TeaRequest request_ = new TeaRequest(); java.util.Map systemParams = TeaConverter.buildMap( new TeaPair("method", "alipay.trade.create"), new TeaPair("app_id", _kernel.getConfig("appId")), new TeaPair("timestamp", _kernel.getTimestamp()), new TeaPair("format", "json"), new TeaPair("version", "1.0"), new TeaPair("alipay_sdk", _kernel.getSdkVersion()), new TeaPair("charset", "UTF-8"), new TeaPair("sign_type", _kernel.getConfig("signType")), new TeaPair("app_cert_sn", _kernel.getMerchantCertSN()), new TeaPair("alipay_root_cert_sn", _kernel.getAlipayRootCertSN()) ); java.util.Map bizParams = TeaConverter.buildMap( new TeaPair("subject", subject), new TeaPair("out_trade_no", outTradeNo), new TeaPair("total_amount", totalAmount), new TeaPair("buyer_id", buyerId) ); java.util.Map textParams = new java.util.HashMap<>(); request_.protocol = _kernel.getConfig("protocol"); request_.method = "POST"; request_.pathname = "/gateway.do"; request_.headers = TeaConverter.buildMap( new TeaPair("host", _kernel.getConfig("gatewayHost")), new TeaPair("content-type", "application/x-www-form-urlencoded;charset=utf-8") ); request_.query = _kernel.sortMap(TeaConverter.merge(String.class, TeaConverter.buildMap( new TeaPair("sign", _kernel.sign(systemParams, bizParams, textParams, _kernel.getConfig("merchantPrivateKey"))) ), systemParams, textParams )); request_.body = Tea.toReadable(_kernel.toUrlEncodedRequestBody(bizParams)); _lastRequest = request_; TeaResponse response_ = Tea.doAction(request_, runtime_); java.util.Map respMap = _kernel.readAsJson(response_, "alipay.trade.create"); if (_kernel.isCertMode()) { if (_kernel.verify(respMap, _kernel.extractAlipayPublicKey(_kernel.getAlipayCertSN(respMap)))) { return TeaModel.toModel(_kernel.toRespModel(respMap), new AlipayTradeCreateResponse()); } } else { if (_kernel.verify(respMap, _kernel.getConfig("alipayPublicKey"))) { return TeaModel.toModel(_kernel.toRespModel(respMap), new AlipayTradeCreateResponse()); } } throw new TeaException(TeaConverter.buildMap( new TeaPair("message", "验签失败,请检查支付宝公钥设置是否正确。") )); } catch (Exception e) { if (Tea.isRetryable(e)) { continue; } throw new RuntimeException(e); } } throw new TeaUnretryableException(_lastRequest); } public AlipayTradeQueryResponse query(String outTradeNo) throws Exception { java.util.Map runtime_ = TeaConverter.buildMap( new TeaPair("ignoreSSL", _kernel.getConfig("ignoreSSL")), new TeaPair("httpProxy", _kernel.getConfig("httpProxy")), new TeaPair("connectTimeout", 15000), new TeaPair("readTimeout", 15000), new TeaPair("retry", TeaConverter.buildMap( new TeaPair("maxAttempts", 0) )) ); TeaRequest _lastRequest = null; long _now = System.currentTimeMillis(); int _retryTimes = 0; while (Tea.allowRetry((java.util.Map) runtime_.get("retry"), _retryTimes, _now)) { if (_retryTimes > 0) { int backoffTime = Tea.getBackoffTime(runtime_.get("backoff"), _retryTimes); if (backoffTime > 0) { Tea.sleep(backoffTime); } } _retryTimes = _retryTimes + 1; try { TeaRequest request_ = new TeaRequest(); java.util.Map systemParams = TeaConverter.buildMap( new TeaPair("method", "alipay.trade.query"), new TeaPair("app_id", _kernel.getConfig("appId")), new TeaPair("timestamp", _kernel.getTimestamp()), new TeaPair("format", "json"), new TeaPair("version", "1.0"), new TeaPair("alipay_sdk", _kernel.getSdkVersion()), new TeaPair("charset", "UTF-8"), new TeaPair("sign_type", _kernel.getConfig("signType")), new TeaPair("app_cert_sn", _kernel.getMerchantCertSN()), new TeaPair("alipay_root_cert_sn", _kernel.getAlipayRootCertSN()) ); java.util.Map bizParams = TeaConverter.buildMap( new TeaPair("out_trade_no", outTradeNo) ); java.util.Map textParams = new java.util.HashMap<>(); request_.protocol = _kernel.getConfig("protocol"); request_.method = "POST"; request_.pathname = "/gateway.do"; request_.headers = TeaConverter.buildMap( new TeaPair("host", _kernel.getConfig("gatewayHost")), new TeaPair("content-type", "application/x-www-form-urlencoded;charset=utf-8") ); request_.query = _kernel.sortMap(TeaConverter.merge(String.class, TeaConverter.buildMap( new TeaPair("sign", _kernel.sign(systemParams, bizParams, textParams, _kernel.getConfig("merchantPrivateKey"))) ), systemParams, textParams )); request_.body = Tea.toReadable(_kernel.toUrlEncodedRequestBody(bizParams)); _lastRequest = request_; TeaResponse response_ = Tea.doAction(request_, runtime_); java.util.Map respMap = _kernel.readAsJson(response_, "alipay.trade.query"); if (_kernel.isCertMode()) { if (_kernel.verify(respMap, _kernel.extractAlipayPublicKey(_kernel.getAlipayCertSN(respMap)))) { return TeaModel.toModel(_kernel.toRespModel(respMap), new AlipayTradeQueryResponse()); } } else { if (_kernel.verify(respMap, _kernel.getConfig("alipayPublicKey"))) { return TeaModel.toModel(_kernel.toRespModel(respMap), new AlipayTradeQueryResponse()); } } throw new TeaException(TeaConverter.buildMap( new TeaPair("message", "验签失败,请检查支付宝公钥设置是否正确。") )); } catch (Exception e) { if (Tea.isRetryable(e)) { continue; } throw new RuntimeException(e); } } throw new TeaUnretryableException(_lastRequest); } public AlipayTradeRefundResponse refund(String outTradeNo, String refundAmount) throws Exception { java.util.Map runtime_ = TeaConverter.buildMap( new TeaPair("ignoreSSL", _kernel.getConfig("ignoreSSL")), new TeaPair("httpProxy", _kernel.getConfig("httpProxy")), new TeaPair("connectTimeout", 15000), new TeaPair("readTimeout", 15000), new TeaPair("retry", TeaConverter.buildMap( new TeaPair("maxAttempts", 0) )) ); TeaRequest _lastRequest = null; long _now = System.currentTimeMillis(); int _retryTimes = 0; while (Tea.allowRetry((java.util.Map) runtime_.get("retry"), _retryTimes, _now)) { if (_retryTimes > 0) { int backoffTime = Tea.getBackoffTime(runtime_.get("backoff"), _retryTimes); if (backoffTime > 0) { Tea.sleep(backoffTime); } } _retryTimes = _retryTimes + 1; try { TeaRequest request_ = new TeaRequest(); java.util.Map systemParams = TeaConverter.buildMap( new TeaPair("method", "alipay.trade.refund"), new TeaPair("app_id", _kernel.getConfig("appId")), new TeaPair("timestamp", _kernel.getTimestamp()), new TeaPair("format", "json"), new TeaPair("version", "1.0"), new TeaPair("alipay_sdk", _kernel.getSdkVersion()), new TeaPair("charset", "UTF-8"), new TeaPair("sign_type", _kernel.getConfig("signType")), new TeaPair("app_cert_sn", _kernel.getMerchantCertSN()), new TeaPair("alipay_root_cert_sn", _kernel.getAlipayRootCertSN()) ); java.util.Map bizParams = TeaConverter.buildMap( new TeaPair("out_trade_no", outTradeNo), new TeaPair("refund_amount", refundAmount) ); java.util.Map textParams = new java.util.HashMap<>(); request_.protocol = _kernel.getConfig("protocol"); request_.method = "POST"; request_.pathname = "/gateway.do"; request_.headers = TeaConverter.buildMap( new TeaPair("host", _kernel.getConfig("gatewayHost")), new TeaPair("content-type", "application/x-www-form-urlencoded;charset=utf-8") ); request_.query = _kernel.sortMap(TeaConverter.merge(String.class, TeaConverter.buildMap( new TeaPair("sign", _kernel.sign(systemParams, bizParams, textParams, _kernel.getConfig("merchantPrivateKey"))) ), systemParams, textParams )); request_.body = Tea.toReadable(_kernel.toUrlEncodedRequestBody(bizParams)); _lastRequest = request_; TeaResponse response_ = Tea.doAction(request_, runtime_); java.util.Map respMap = _kernel.readAsJson(response_, "alipay.trade.refund"); if (_kernel.isCertMode()) { if (_kernel.verify(respMap, _kernel.extractAlipayPublicKey(_kernel.getAlipayCertSN(respMap)))) { return TeaModel.toModel(_kernel.toRespModel(respMap), new AlipayTradeRefundResponse()); } } else { if (_kernel.verify(respMap, _kernel.getConfig("alipayPublicKey"))) { return TeaModel.toModel(_kernel.toRespModel(respMap), new AlipayTradeRefundResponse()); } } throw new TeaException(TeaConverter.buildMap( new TeaPair("message", "验签失败,请检查支付宝公钥设置是否正确。") )); } catch (Exception e) { if (Tea.isRetryable(e)) { continue; } throw new RuntimeException(e); } } throw new TeaUnretryableException(_lastRequest); } public AlipayTradeCloseResponse close(String outTradeNo) throws Exception { java.util.Map runtime_ = TeaConverter.buildMap( new TeaPair("ignoreSSL", _kernel.getConfig("ignoreSSL")), new TeaPair("httpProxy", _kernel.getConfig("httpProxy")), new TeaPair("connectTimeout", 15000), new TeaPair("readTimeout", 15000), new TeaPair("retry", TeaConverter.buildMap( new TeaPair("maxAttempts", 0) )) ); TeaRequest _lastRequest = null; long _now = System.currentTimeMillis(); int _retryTimes = 0; while (Tea.allowRetry((java.util.Map) runtime_.get("retry"), _retryTimes, _now)) { if (_retryTimes > 0) { int backoffTime = Tea.getBackoffTime(runtime_.get("backoff"), _retryTimes); if (backoffTime > 0) { Tea.sleep(backoffTime); } } _retryTimes = _retryTimes + 1; try { TeaRequest request_ = new TeaRequest(); java.util.Map systemParams = TeaConverter.buildMap( new TeaPair("method", "alipay.trade.close"), new TeaPair("app_id", _kernel.getConfig("appId")), new TeaPair("timestamp", _kernel.getTimestamp()), new TeaPair("format", "json"), new TeaPair("version", "1.0"), new TeaPair("alipay_sdk", _kernel.getSdkVersion()), new TeaPair("charset", "UTF-8"), new TeaPair("sign_type", _kernel.getConfig("signType")), new TeaPair("app_cert_sn", _kernel.getMerchantCertSN()), new TeaPair("alipay_root_cert_sn", _kernel.getAlipayRootCertSN()) ); java.util.Map bizParams = TeaConverter.buildMap( new TeaPair("out_trade_no", outTradeNo) ); java.util.Map textParams = new java.util.HashMap<>(); request_.protocol = _kernel.getConfig("protocol"); request_.method = "POST"; request_.pathname = "/gateway.do"; request_.headers = TeaConverter.buildMap( new TeaPair("host", _kernel.getConfig("gatewayHost")), new TeaPair("content-type", "application/x-www-form-urlencoded;charset=utf-8") ); request_.query = _kernel.sortMap(TeaConverter.merge(String.class, TeaConverter.buildMap( new TeaPair("sign", _kernel.sign(systemParams, bizParams, textParams, _kernel.getConfig("merchantPrivateKey"))) ), systemParams, textParams )); request_.body = Tea.toReadable(_kernel.toUrlEncodedRequestBody(bizParams)); _lastRequest = request_; TeaResponse response_ = Tea.doAction(request_, runtime_); java.util.Map respMap = _kernel.readAsJson(response_, "alipay.trade.close"); if (_kernel.isCertMode()) { if (_kernel.verify(respMap, _kernel.extractAlipayPublicKey(_kernel.getAlipayCertSN(respMap)))) { return TeaModel.toModel(_kernel.toRespModel(respMap), new AlipayTradeCloseResponse()); } } else { if (_kernel.verify(respMap, _kernel.getConfig("alipayPublicKey"))) { return TeaModel.toModel(_kernel.toRespModel(respMap), new AlipayTradeCloseResponse()); } } throw new TeaException(TeaConverter.buildMap( new TeaPair("message", "验签失败,请检查支付宝公钥设置是否正确。") )); } catch (Exception e) { if (Tea.isRetryable(e)) { continue; } throw new RuntimeException(e); } } throw new TeaUnretryableException(_lastRequest); } public AlipayTradeCancelResponse cancel(String outTradeNo) throws Exception { java.util.Map runtime_ = TeaConverter.buildMap( new TeaPair("ignoreSSL", _kernel.getConfig("ignoreSSL")), new TeaPair("httpProxy", _kernel.getConfig("httpProxy")), new TeaPair("connectTimeout", 15000), new TeaPair("readTimeout", 15000), new TeaPair("retry", TeaConverter.buildMap( new TeaPair("maxAttempts", 0) )) ); TeaRequest _lastRequest = null; long _now = System.currentTimeMillis(); int _retryTimes = 0; while (Tea.allowRetry((java.util.Map) runtime_.get("retry"), _retryTimes, _now)) { if (_retryTimes > 0) { int backoffTime = Tea.getBackoffTime(runtime_.get("backoff"), _retryTimes); if (backoffTime > 0) { Tea.sleep(backoffTime); } } _retryTimes = _retryTimes + 1; try { TeaRequest request_ = new TeaRequest(); java.util.Map systemParams = TeaConverter.buildMap( new TeaPair("method", "alipay.trade.cancel"), new TeaPair("app_id", _kernel.getConfig("appId")), new TeaPair("timestamp", _kernel.getTimestamp()), new TeaPair("format", "json"), new TeaPair("version", "1.0"), new TeaPair("alipay_sdk", _kernel.getSdkVersion()), new TeaPair("charset", "UTF-8"), new TeaPair("sign_type", _kernel.getConfig("signType")), new TeaPair("app_cert_sn", _kernel.getMerchantCertSN()), new TeaPair("alipay_root_cert_sn", _kernel.getAlipayRootCertSN()) ); java.util.Map bizParams = TeaConverter.buildMap( new TeaPair("out_trade_no", outTradeNo) ); java.util.Map textParams = new java.util.HashMap<>(); request_.protocol = _kernel.getConfig("protocol"); request_.method = "POST"; request_.pathname = "/gateway.do"; request_.headers = TeaConverter.buildMap( new TeaPair("host", _kernel.getConfig("gatewayHost")), new TeaPair("content-type", "application/x-www-form-urlencoded;charset=utf-8") ); request_.query = _kernel.sortMap(TeaConverter.merge(String.class, TeaConverter.buildMap( new TeaPair("sign", _kernel.sign(systemParams, bizParams, textParams, _kernel.getConfig("merchantPrivateKey"))) ), systemParams, textParams )); request_.body = Tea.toReadable(_kernel.toUrlEncodedRequestBody(bizParams)); _lastRequest = request_; TeaResponse response_ = Tea.doAction(request_, runtime_); java.util.Map respMap = _kernel.readAsJson(response_, "alipay.trade.cancel"); if (_kernel.isCertMode()) { if (_kernel.verify(respMap, _kernel.extractAlipayPublicKey(_kernel.getAlipayCertSN(respMap)))) { return TeaModel.toModel(_kernel.toRespModel(respMap), new AlipayTradeCancelResponse()); } } else { if (_kernel.verify(respMap, _kernel.getConfig("alipayPublicKey"))) { return TeaModel.toModel(_kernel.toRespModel(respMap), new AlipayTradeCancelResponse()); } } throw new TeaException(TeaConverter.buildMap( new TeaPair("message", "验签失败,请检查支付宝公钥设置是否正确。") )); } catch (Exception e) { if (Tea.isRetryable(e)) { continue; } throw new RuntimeException(e); } } throw new TeaUnretryableException(_lastRequest); } public AlipayTradeFastpayRefundQueryResponse queryRefund(String outTradeNo, String outRequestNo) throws Exception { java.util.Map runtime_ = TeaConverter.buildMap( new TeaPair("ignoreSSL", _kernel.getConfig("ignoreSSL")), new TeaPair("httpProxy", _kernel.getConfig("httpProxy")), new TeaPair("connectTimeout", 15000), new TeaPair("readTimeout", 15000), new TeaPair("retry", TeaConverter.buildMap( new TeaPair("maxAttempts", 0) )) ); TeaRequest _lastRequest = null; long _now = System.currentTimeMillis(); int _retryTimes = 0; while (Tea.allowRetry((java.util.Map) runtime_.get("retry"), _retryTimes, _now)) { if (_retryTimes > 0) { int backoffTime = Tea.getBackoffTime(runtime_.get("backoff"), _retryTimes); if (backoffTime > 0) { Tea.sleep(backoffTime); } } _retryTimes = _retryTimes + 1; try { TeaRequest request_ = new TeaRequest(); java.util.Map systemParams = TeaConverter.buildMap( new TeaPair("method", "alipay.trade.fastpay.refund.query"), new TeaPair("app_id", _kernel.getConfig("appId")), new TeaPair("timestamp", _kernel.getTimestamp()), new TeaPair("format", "json"), new TeaPair("version", "1.0"), new TeaPair("alipay_sdk", _kernel.getSdkVersion()), new TeaPair("charset", "UTF-8"), new TeaPair("sign_type", _kernel.getConfig("signType")), new TeaPair("app_cert_sn", _kernel.getMerchantCertSN()), new TeaPair("alipay_root_cert_sn", _kernel.getAlipayRootCertSN()) ); java.util.Map bizParams = TeaConverter.buildMap( new TeaPair("out_trade_no", outTradeNo), new TeaPair("out_request_no", outRequestNo) ); java.util.Map textParams = new java.util.HashMap<>(); request_.protocol = _kernel.getConfig("protocol"); request_.method = "POST"; request_.pathname = "/gateway.do"; request_.headers = TeaConverter.buildMap( new TeaPair("host", _kernel.getConfig("gatewayHost")), new TeaPair("content-type", "application/x-www-form-urlencoded;charset=utf-8") ); request_.query = _kernel.sortMap(TeaConverter.merge(String.class, TeaConverter.buildMap( new TeaPair("sign", _kernel.sign(systemParams, bizParams, textParams, _kernel.getConfig("merchantPrivateKey"))) ), systemParams, textParams )); request_.body = Tea.toReadable(_kernel.toUrlEncodedRequestBody(bizParams)); _lastRequest = request_; TeaResponse response_ = Tea.doAction(request_, runtime_); java.util.Map respMap = _kernel.readAsJson(response_, "alipay.trade.fastpay.refund.query"); if (_kernel.isCertMode()) { if (_kernel.verify(respMap, _kernel.extractAlipayPublicKey(_kernel.getAlipayCertSN(respMap)))) { return TeaModel.toModel(_kernel.toRespModel(respMap), new AlipayTradeFastpayRefundQueryResponse()); } } else { if (_kernel.verify(respMap, _kernel.getConfig("alipayPublicKey"))) { return TeaModel.toModel(_kernel.toRespModel(respMap), new AlipayTradeFastpayRefundQueryResponse()); } } throw new TeaException(TeaConverter.buildMap( new TeaPair("message", "验签失败,请检查支付宝公钥设置是否正确。") )); } catch (Exception e) { if (Tea.isRetryable(e)) { continue; } throw new RuntimeException(e); } } throw new TeaUnretryableException(_lastRequest); } public AlipayDataDataserviceBillDownloadurlQueryResponse downloadBill(String billType, String billDate) throws Exception { java.util.Map runtime_ = TeaConverter.buildMap( new TeaPair("ignoreSSL", _kernel.getConfig("ignoreSSL")), new TeaPair("httpProxy", _kernel.getConfig("httpProxy")), new TeaPair("connectTimeout", 15000), new TeaPair("readTimeout", 15000), new TeaPair("retry", TeaConverter.buildMap( new TeaPair("maxAttempts", 0) )) ); TeaRequest _lastRequest = null; long _now = System.currentTimeMillis(); int _retryTimes = 0; while (Tea.allowRetry((java.util.Map) runtime_.get("retry"), _retryTimes, _now)) { if (_retryTimes > 0) { int backoffTime = Tea.getBackoffTime(runtime_.get("backoff"), _retryTimes); if (backoffTime > 0) { Tea.sleep(backoffTime); } } _retryTimes = _retryTimes + 1; try { TeaRequest request_ = new TeaRequest(); java.util.Map systemParams = TeaConverter.buildMap( new TeaPair("method", "alipay.data.dataservice.bill.downloadurl.query"), new TeaPair("app_id", _kernel.getConfig("appId")), new TeaPair("timestamp", _kernel.getTimestamp()), new TeaPair("format", "json"), new TeaPair("version", "1.0"), new TeaPair("alipay_sdk", _kernel.getSdkVersion()), new TeaPair("charset", "UTF-8"), new TeaPair("sign_type", _kernel.getConfig("signType")), new TeaPair("app_cert_sn", _kernel.getMerchantCertSN()), new TeaPair("alipay_root_cert_sn", _kernel.getAlipayRootCertSN()) ); java.util.Map bizParams = TeaConverter.buildMap( new TeaPair("bill_type", billType), new TeaPair("bill_date", billDate) ); java.util.Map textParams = new java.util.HashMap<>(); request_.protocol = _kernel.getConfig("protocol"); request_.method = "POST"; request_.pathname = "/gateway.do"; request_.headers = TeaConverter.buildMap( new TeaPair("host", _kernel.getConfig("gatewayHost")), new TeaPair("content-type", "application/x-www-form-urlencoded;charset=utf-8") ); request_.query = _kernel.sortMap(TeaConverter.merge(String.class, TeaConverter.buildMap( new TeaPair("sign", _kernel.sign(systemParams, bizParams, textParams, _kernel.getConfig("merchantPrivateKey"))) ), systemParams, textParams )); request_.body = Tea.toReadable(_kernel.toUrlEncodedRequestBody(bizParams)); _lastRequest = request_; TeaResponse response_ = Tea.doAction(request_, runtime_); java.util.Map respMap = _kernel.readAsJson(response_, "alipay.data.dataservice.bill.downloadurl.query"); if (_kernel.isCertMode()) { if (_kernel.verify(respMap, _kernel.extractAlipayPublicKey(_kernel.getAlipayCertSN(respMap)))) { return TeaModel.toModel(_kernel.toRespModel(respMap), new AlipayDataDataserviceBillDownloadurlQueryResponse()); } } else { if (_kernel.verify(respMap, _kernel.getConfig("alipayPublicKey"))) { return TeaModel.toModel(_kernel.toRespModel(respMap), new AlipayDataDataserviceBillDownloadurlQueryResponse()); } } throw new TeaException(TeaConverter.buildMap( new TeaPair("message", "验签失败,请检查支付宝公钥设置是否正确。") )); } catch (Exception e) { if (Tea.isRetryable(e)) { continue; } throw new RuntimeException(e); } } throw new TeaUnretryableException(_lastRequest); } public Boolean verifyNotify(java.util.Map parameters) throws Exception { if (_kernel.isCertMode()) { return _kernel.verifyParams(parameters, _kernel.extractAlipayPublicKey("")); } else { return _kernel.verifyParams(parameters, _kernel.getConfig("alipayPublicKey")); } } /** * ISV代商户代用,指定appAuthToken * * @param appAuthToken 代调用token * @return 本客户端,便于链式调用 */ public Client agent(String appAuthToken) { _kernel.injectTextParam("app_auth_token", appAuthToken); return this; } /** * 用户授权调用,指定authToken * * @param authToken 用户授权token * @return 本客户端,便于链式调用 */ public Client auth(String authToken) { _kernel.injectTextParam("auth_token", authToken); return this; } /** * 设置异步通知回调地址,此处设置将在本调用中覆盖Config中的全局配置 * * @param url 异步通知回调地址,例如:https://www.test.com/callback * @return 本客户端,便于链式调用 */ public Client asyncNotify(String url) { _kernel.injectTextParam("notify_url", url); return this; } /** * 将本次调用强制路由到后端系统的测试地址上,常用于线下环境内外联调,沙箱与线上环境设置无效 * * @param testUrl 后端系统测试地址 * @return 本客户端,便于链式调用 */ public Client route(String testUrl) { _kernel.injectTextParam("ws_service_url", testUrl); return this; } /** * 设置API入参中没有的其他可选业务请求参数(biz_content下的字段) * * @param key 业务请求参数名称(biz_content下的字段名,比如timeout_express) * @param value 业务请求参数的值,一个可以序列化成JSON的对象 * 如果该字段是一个字符串类型(String、Price、Date在SDK中都是字符串),请使用String储存 * 如果该字段是一个数值型类型(比如:Number),请使用Long储存 * 如果该字段是一个复杂类型,请使用嵌套的Map指定各下级字段的值 * 如果该字段是一个数组,请使用List储存各个值 * 对于更复杂的情况,也支持Map和List的各种组合嵌套,比如参数是值是个List,List中的每种类型是一个复杂对象 * @return 本客户端,便于链式调用 */ public Client optional(String key, Object value) { _kernel.injectBizParam(key, value); return this; } /** * 批量设置API入参中没有的其他可选业务请求参数(biz_content下的字段) * optional方法的批量版本 * * @param optionalArgs 可选参数集合,每个参数由key和value组成,key和value的格式请参见optional方法的注释 * @return 本客户端,便于链式调用 */ public Client batchOptional(java.util.Map optionalArgs) { for (java.util.Map.Entry pair : optionalArgs.entrySet()) { _kernel.injectBizParam(pair.getKey(), pair.getValue()); } return this; } }