main.tea 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309
  1. import EasySDKKernel;
  2. type @kernel = EasySDKKernel
  3. init(kernel: EasySDKKernel) {
  4. @kernel = kernel;
  5. }
  6. model AlipayPassTemplateAddResponse {
  7. httpBody: string(name='http_body', description='响应原始字符串'),
  8. code: string(name='code'),
  9. msg: string(name='msg'),
  10. subCode: string(name='sub_code'),
  11. subMsg: string(name='sub_msg'),
  12. success: boolean(name='success'),
  13. result: string(name='result')
  14. }
  15. model AlipayPassTemplateUpdateResponse {
  16. httpBody: string(name='http_body', description='响应原始字符串'),
  17. code: string(name='code'),
  18. msg: string(name='msg'),
  19. subCode: string(name='sub_code'),
  20. subMsg: string(name='sub_msg'),
  21. success: boolean(name='success'),
  22. result: string(name='result')
  23. }
  24. model AlipayPassInstanceAddResponse {
  25. httpBody: string(name='http_body', description='响应原始字符串'),
  26. code: string(name='code'),
  27. msg: string(name='msg'),
  28. subCode: string(name='sub_code'),
  29. subMsg: string(name='sub_msg'),
  30. success: boolean(name='success'),
  31. result: string(name='result')
  32. }
  33. model AlipayPassInstanceUpdateResponse {
  34. httpBody: string(name='http_body', description='响应原始字符串'),
  35. code: string(name='code'),
  36. msg: string(name='msg'),
  37. subCode: string(name='sub_code'),
  38. subMsg: string(name='sub_msg'),
  39. success: boolean(name='success'),
  40. result: string(name='result')
  41. }
  42. api createTemplate(uniqueId: string, tplContent: string): AlipayPassTemplateAddResponse {
  43. var systemParams: map[string]string = {
  44. method = 'alipay.pass.template.add',
  45. app_id = @kernel.getConfig("appId"),
  46. timestamp = @kernel.getTimestamp(),
  47. format = 'json',
  48. version = '1.0',
  49. alipay_sdk = @kernel.getSdkVersion(),
  50. charset = 'UTF-8',
  51. sign_type = @kernel.getConfig("signType"),
  52. app_cert_sn = @kernel.getMerchantCertSN(),
  53. alipay_root_cert_sn = @kernel.getAlipayRootCertSN()
  54. };
  55. var bizParams: map[string]any = {
  56. unique_id = uniqueId,
  57. tpl_content = tplContent
  58. };
  59. var textParams: map[string]string = {
  60. };
  61. __request.protocol = @kernel.getConfig("protocol");
  62. __request.method = 'POST';
  63. __request.pathname = '/gateway.do';
  64. __request.headers = {
  65. host = @kernel.getConfig("gatewayHost"),
  66. content-type = 'application/x-www-form-urlencoded;charset=utf-8'
  67. };
  68. __request.query = @kernel.sortMap({
  69. sign = @kernel.sign(systemParams, bizParams, textParams, @kernel.getConfig("merchantPrivateKey")),
  70. ... systemParams,
  71. ... textParams
  72. });
  73. __request.body = @kernel.toUrlEncodedRequestBody(bizParams);
  74. } returns {
  75. var respMap: map[string]any = @kernel.readAsJson(__response, "alipay.pass.template.add");
  76. if (@kernel.isCertMode()) {
  77. if (@kernel.verify(respMap, @kernel.extractAlipayPublicKey(@kernel.getAlipayCertSN(respMap)))) {
  78. return @kernel.toRespModel(respMap);
  79. }
  80. } else {
  81. if (@kernel.verify(respMap, @kernel.getConfig("alipayPublicKey"))) {
  82. return @kernel.toRespModel(respMap);
  83. }
  84. }
  85. throw {
  86. message = '验签失败,请检查支付宝公钥设置是否正确。'
  87. }
  88. } runtime {
  89. connectTimeout = 15000,
  90. readTimeout = 15000,
  91. retry = {
  92. maxAttempts = 0
  93. }
  94. }
  95. api updateTemplate(tplId: string, tplContent: string): AlipayPassTemplateUpdateResponse {
  96. var systemParams: map[string]string = {
  97. method = 'alipay.pass.template.update',
  98. app_id = @kernel.getConfig("appId"),
  99. timestamp = @kernel.getTimestamp(),
  100. format = 'json',
  101. version = '1.0',
  102. alipay_sdk = @kernel.getSdkVersion(),
  103. charset = 'UTF-8',
  104. sign_type = @kernel.getConfig("signType"),
  105. app_cert_sn = @kernel.getMerchantCertSN(),
  106. alipay_root_cert_sn = @kernel.getAlipayRootCertSN()
  107. };
  108. var bizParams: map[string]any = {
  109. tpl_id = tplId,
  110. tpl_content = tplContent
  111. };
  112. var textParams: map[string]string = {
  113. };
  114. __request.protocol = @kernel.getConfig("protocol");
  115. __request.method = 'POST';
  116. __request.pathname = '/gateway.do';
  117. __request.headers = {
  118. host = @kernel.getConfig("gatewayHost"),
  119. content-type = 'application/x-www-form-urlencoded;charset=utf-8'
  120. };
  121. __request.query = @kernel.sortMap({
  122. sign = @kernel.sign(systemParams, bizParams, textParams, @kernel.getConfig("merchantPrivateKey")),
  123. ... systemParams,
  124. ... textParams
  125. });
  126. __request.body = @kernel.toUrlEncodedRequestBody(bizParams);
  127. } returns {
  128. var respMap: map[string]any = @kernel.readAsJson(__response, "alipay.pass.template.update");
  129. if (@kernel.isCertMode()) {
  130. if (@kernel.verify(respMap, @kernel.extractAlipayPublicKey(@kernel.getAlipayCertSN(respMap)))) {
  131. return @kernel.toRespModel(respMap);
  132. }
  133. } else {
  134. if (@kernel.verify(respMap, @kernel.getConfig("alipayPublicKey"))) {
  135. return @kernel.toRespModel(respMap);
  136. }
  137. }
  138. throw {
  139. message = '验签失败,请检查支付宝公钥设置是否正确。'
  140. }
  141. } runtime {
  142. connectTimeout = 15000,
  143. readTimeout = 15000,
  144. retry = {
  145. maxAttempts = 0
  146. }
  147. }
  148. api addInstance(tplId: string, tplParams: string, recognitionType: string, recognitionInfo: string): AlipayPassInstanceAddResponse {
  149. var systemParams: map[string]string = {
  150. method = 'alipay.pass.instance.add',
  151. app_id = @kernel.getConfig("appId"),
  152. timestamp = @kernel.getTimestamp(),
  153. format = 'json',
  154. version = '1.0',
  155. alipay_sdk = @kernel.getSdkVersion(),
  156. charset = 'UTF-8',
  157. sign_type = @kernel.getConfig("signType"),
  158. app_cert_sn = @kernel.getMerchantCertSN(),
  159. alipay_root_cert_sn = @kernel.getAlipayRootCertSN()
  160. };
  161. var bizParams: map[string]any = {
  162. tpl_id = tplId,
  163. tpl_params = tplParams,
  164. recognition_type = recognitionType,
  165. recognition_info = recognitionInfo
  166. };
  167. var textParams: map[string]string = {
  168. };
  169. __request.protocol = @kernel.getConfig("protocol");
  170. __request.method = 'POST';
  171. __request.pathname = '/gateway.do';
  172. __request.headers = {
  173. host = @kernel.getConfig("gatewayHost"),
  174. content-type = 'application/x-www-form-urlencoded;charset=utf-8'
  175. };
  176. __request.query = @kernel.sortMap({
  177. sign = @kernel.sign(systemParams, bizParams, textParams, @kernel.getConfig("merchantPrivateKey")),
  178. ... systemParams,
  179. ... textParams
  180. });
  181. __request.body = @kernel.toUrlEncodedRequestBody(bizParams);
  182. } returns {
  183. var respMap: map[string]any = @kernel.readAsJson(__response, "alipay.pass.instance.add");
  184. if (@kernel.isCertMode()) {
  185. if (@kernel.verify(respMap, @kernel.extractAlipayPublicKey(@kernel.getAlipayCertSN(respMap)))) {
  186. return @kernel.toRespModel(respMap);
  187. }
  188. } else {
  189. if (@kernel.verify(respMap, @kernel.getConfig("alipayPublicKey"))) {
  190. return @kernel.toRespModel(respMap);
  191. }
  192. }
  193. throw {
  194. message = '验签失败,请检查支付宝公钥设置是否正确。'
  195. }
  196. } runtime {
  197. connectTimeout = 15000,
  198. readTimeout = 15000,
  199. retry = {
  200. maxAttempts = 0
  201. }
  202. }
  203. api updateInstance(serialNumber: string, channelId: string, tplParams: string, status: string, verifyCode: string, verifyType: string): AlipayPassInstanceUpdateResponse {
  204. var systemParams: map[string]string = {
  205. method = 'alipay.pass.instance.update',
  206. app_id = @kernel.getConfig("appId"),
  207. timestamp = @kernel.getTimestamp(),
  208. format = 'json',
  209. version = '1.0',
  210. alipay_sdk = @kernel.getSdkVersion(),
  211. charset = 'UTF-8',
  212. sign_type = @kernel.getConfig("signType"),
  213. app_cert_sn = @kernel.getMerchantCertSN(),
  214. alipay_root_cert_sn = @kernel.getAlipayRootCertSN()
  215. };
  216. var bizParams: map[string]any = {
  217. serial_number = serialNumber,
  218. channel_id = channelId,
  219. tpl_params = tplParams,
  220. status = status,
  221. verify_code = verifyCode,
  222. verify_type = verifyType
  223. };
  224. var textParams: map[string]string = {
  225. };
  226. __request.protocol = @kernel.getConfig("protocol");
  227. __request.method = 'POST';
  228. __request.pathname = '/gateway.do';
  229. __request.headers = {
  230. host = @kernel.getConfig("gatewayHost"),
  231. content-type = 'application/x-www-form-urlencoded;charset=utf-8'
  232. };
  233. __request.query = @kernel.sortMap({
  234. sign = @kernel.sign(systemParams, bizParams, textParams, @kernel.getConfig("merchantPrivateKey")),
  235. ... systemParams,
  236. ... textParams
  237. });
  238. __request.body = @kernel.toUrlEncodedRequestBody(bizParams);
  239. } returns {
  240. var respMap: map[string]any = @kernel.readAsJson(__response, "alipay.pass.instance.update");
  241. if (@kernel.isCertMode()) {
  242. if (@kernel.verify(respMap, @kernel.extractAlipayPublicKey(@kernel.getAlipayCertSN(respMap)))) {
  243. return @kernel.toRespModel(respMap);
  244. }
  245. } else {
  246. if (@kernel.verify(respMap, @kernel.getConfig("alipayPublicKey"))) {
  247. return @kernel.toRespModel(respMap);
  248. }
  249. }
  250. throw {
  251. message = '验签失败,请检查支付宝公钥设置是否正确。'
  252. }
  253. } runtime {
  254. connectTimeout = 15000,
  255. readTimeout = 15000,
  256. retry = {
  257. maxAttempts = 0
  258. }
  259. }