benson 1 year ago
parent
commit
889119041e

+ 0 - 0
docs/.nojekyll


+ 8 - 0
docs/README.md

@@ -0,0 +1,8 @@
+## GoAllPay接口文档
+
+## 版本
+* 版本信息:中文 V5.3.0
+* 更新时间:2023 年 2 月
+
+
+>

+ 3 - 0
docs/_navbar.md

@@ -0,0 +1,3 @@
+- Translations
+  - [:uk: English](/)
+  - [:cn: 简体中文](/zh-cn/)

+ 14 - 0
docs/_sidebar.md

@@ -0,0 +1,14 @@
+- [文档说明](summary.md)
+- 线上支付接口
+	- 支付类
+		- [支付](/op_api/pay/pay.md)
+		- [支付-PPRO](/op_api/pay/pay_ppro.md)
+	- [支付结果通知](/op_api/result_pay.md)
+	- [退款](/op_api/refund.md)
+	- [退款结果通知](/op_api/result_refund.md)
+	- [查询](/op_api/order_query.md)	
+-报文示例
+	- [示例-线上支付报文](/examples/examples_op.md) 
+
+
+

File diff suppressed because it is too large
+ 28 - 0
docs/api_explain.md


+ 207 - 0
docs/examples/examples_op.md

@@ -0,0 +1,207 @@
+
+>V5.3
+
+
+# Online Payment Transactions Examples 
+## Create Order
+### H5 Payment 
+
+>Support H5 payment of UnionPay and Alipay.
+
+**REQUEST**
+
+``` bash
+curl --request POST \
+     --url https://testapi.allpayx.com/api/v5/createorder \
+     --header 'accept: application/json' \
+     --header 'content-type: application/json' \
+     --data '
+{
+    "orderNum":"20230210095557",
+    "orderCurrency":"CNY",
+    "frontUrl":"https://test.allpayx.com/demo/result",
+    "backUrl":"https://test.allpayx.com/demo/result",
+    "merId":"600039259442068",
+    "transTime":"20230210095557",
+    "signType":"SHA256",
+    "osType":"WINDOWS",
+    "osVersion":"",
+    "orderAmount":"1",
+    "goodsInfo":"apple",
+    "detailInfo":"W3siZ29vZHNfbmFtZSI6ICJhcHBsZSIsICJxdWFudGl0eSI6ICIyIn1d",
+    "merReserve":"",
+    "userIp":"116.230.182.159",
+    "userId":"user01",
+    "logisticsStreet":"zhangjiang",
+    "paymentBrand":"unionpay",       
+    "tradeFrom":"H5",   
+    "signature":"7878cd46d5cf52f2900bc7f209b167cd45a03460ff8ad0fcedbf5feb562d644d"
+}
+'
+```
+	paymentBrand:unionpay,alipay_cn,wechat_pay,...
+
+**RESPONSE**
+```json
+{
+    "respCode":"00",
+    "respMsg":"success",
+    "merId":"600039259442068",
+    "orderNum":"20230210095557",
+    "transId":"3bIMFhBBNgil5vpF",
+    "parameter":{
+        "payUrl":"https://testapi.allpayx.com/api/receiveCode?allPayTn=2fb4d428f96d332df2220e3f7856e292"
+    }
+}
+
+```
+
+
+### App Payment 
+
+>Support xx payment of UnionPay and Alipay.
+
+**REQUEST**
+``` json
+
+```
+
+
+**RESPONSE**
+```json
+
+```
+
+
+### Web Payment 
+
+>Support xx payment of UnionPay and Alipay.
+
+**REQUEST**
+``` json
+
+```
+
+
+**RESPONSE**
+```json
+
+```
+
+
+### JSAPI Payment 
+
+>Support xx payment of UnionPay and Alipay.
+
+**REQUEST**
+``` json
+
+```
+
+
+**RESPONSE**
+```json
+
+```
+
+
+
+### APPLET Payment 
+
+>Support xx payment of UnionPay and Alipay.
+
+**REQUEST**
+``` json
+
+```
+
+
+**RESPONSE**
+```json
+
+```
+
+
+
+### QRCODE Payment 
+
+>Support xx payment of UnionPay and Alipay.
+
+**REQUEST**
+``` json
+
+```
+
+
+**RESPONSE**
+```json
+
+```
+
+
+## Create Order(PPRO)
+## Create Order(EVO)
+## Create Order(FC)
+## Checkout
+
+
+# Order Query
+>Query the status of `payment` transaction.
+
+**REQUEST**
+``` json
+
+```
+
+
+**RESPONSE**
+```json
+
+```
+
+
+
+
+# Refund
+> Refund only support successful payment transaction.
+
+**REQUEST**
+``` json
+
+```
+
+
+**RESPONSE**
+```json
+
+```
+
+# Async Notify 
+## Notify Payment Result 
+>  ....
+
+**REQUEST**
+``` json
+
+```
+
+
+**RESPONSE**
+```json
+
+```
+
+## Notify Refund Result 
+
+>  ....
+
+**REQUEST**
+``` json
+
+```
+
+
+**RESPONSE**
+```json
+
+```

+ 28 - 0
docs/index.html

@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+   <meta charset="UTF-8">
+  <title>Document</title>
+  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
+  <meta name="description" content="Description">
+  <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0">
+  <link rel="stylesheet" href="//cdn.jsdelivr.net/npm/docsify@4/lib/themes/vue.css">
+  </head>
+
+  <body>
+    <div id="app">Loading ...</div>
+    <script src="//cdn.jsdelivr.net/npm/docsify-plugin-carbon@1"></script>
+    <script>
+      // Docsify configuration
+      window.$docsify = {
+    
+        loadSidebar: true,
+        subMaxLevel: 3,
+       
+      };
+    </script>
+   <script src="//cdn.jsdelivr.net/npm/docsify@4"></script>
+    <script src="//cdn.jsdelivr.net/npm/docsify@4/lib/plugins/search.min.js"></script>
+      
+  </body>
+</html>

+ 36 - 0
docs/op_api/order_query.md

@@ -0,0 +1,36 @@
+# 查询
+## 接口说明  <!-- {docsify-ignore} -->
+
+ 该接口为接入商家提供订单查询的功能。
+
+## 请求路径  <!-- {docsify-ignore} -->
+
+> `POST`  /api/v5/orderquery
+
+
+# 请求参数  <!-- {docsify-ignore} -->
+
+| 参数          | 类型   | 必填 | 描述                                                         |
+| ------------- | ----- | ---- | ------------------------------------------------------------ |   
+| paymentBrand  | String|是| 支付品牌|
+| orderNum      | String|是| 订单号                                                       |
+| merID         | String|是| 商户ID,由 GoAllPay 分配                                       |
+| transTime     | String|是| 交易时间,格式:"yyyyMMddHHmmss"                               |
+| signType      | String|是| SHA256                                                          |
+| signature     | String|是| 签名  
+
+
+## 响应参数  <!-- {docsify-ignore} -->
+
+| 参数          | 类型       | 必填 | 描述                                                         |
+| ------------- | ---------- | ---- | ------------------------------------------------------------ |
+| transType     | String|是| 交易类型 ,PURC:支付交易;REFD:退款交易 |
+| orderNum      | String|是| 订单号                                                       |
+| transID       | String|是| GoAllPay流水号                       |
+| merID         | String|是| 商户ID |
+| respCode      | String|是| 应答码 00-成功,01-失败。详情见本文档第5章应答码 |
+| respMsg       | String|是| 应答消息                                                     |
+| transTime     | String|是| 交易时间,格式:"yyyyMMddHHmmss"                             |
+| gwTime        | String|是| yyyyMMddHHmmss,为 GW 时间,目前为本地交易时间|
+| signType      | String|是| SHA256|
+| signature     | String|是| 签名|

+ 109 - 0
docs/op_api/pay/pay.md

@@ -0,0 +1,109 @@
+# 支付 
+
+
+
+## 接口说明  <!-- {docsify-ignore} -->
+
+ 接口为商家提供线上支付功能,适用于银联、支付宝及A+、微信支付等付款方式。
+
+## 请求路径  <!-- {docsify-ignore} -->	
+
+> `POST` /api/v5/createorder 	
+
+
+
+
+## 请求参数  <!-- {docsify-ignore} -->
+
+ 凡是上送参数都需参与签名。
+
+ ***通用参数:***
+
+| 参数           | 类型         | 必填 | 描述                                                    |
+| -------------  | ----- | --- | ------------------------------------------------------------ |
+| paymentBrand   | String|是 | 支付品牌,参考[交易场景和支持品牌](#交易场景和支持品牌)|
+| tradeFrom      | String|是 | 交易场景,参考[交易场景和支持品牌](#交易场景和支持品牌)|
+| orderNum       | String|是 | 订单号:商户自行定义,需保证同一商户号下订单号不能重复|
+| orderAmount    | String|是 | 订单金额:如 100 元,表示为 100 或 100.00 |
+| orderCurrency  | String|是 | 订单币种:ISO标准。如:人民币填写“CNY”,美元填写"USD" |
+| frontURL       | String|是 | 支付完成后前端跳转到该URL。GET请求,参数详见[支付结果通知(回调)](/op_api/result_pay) |
+| backURL        | String|是 | 支付结果异步通知到该URL。支付成功后,GoAllPay 会以 POST JSON 方式调用 backURL 通知支付结果(详见[支付结果通知(回调)](/op_api/result_pay))。商户在接收到通知后,需响应字符串“OK”。<br>如果没有收到商户响应“OK”,GoAllPay将会过一段时间后重新推送,时间间隔为[15, 15, 15, 30, 180, 1800, 3600, 7200, 14400],单位为秒。 |
+| merID          | String|是 | 商户 ID,由 GoAllPay 分配 |
+| goodsInfo      | String|是 | 商品信息。注意不要包含特殊符号,如 "#","&","+" 等 |
+| detailInfo     | String|是 | 商品明细。<br>格式:[{"goods_name":"iPhone X","quantity":"2"},{"goods_name":"iPhone 8","quantity":"4"}],需Base64编码后上送。注意goods_name不要包含特殊符号,如 "#","&","+" 等 |
+| transTime      | String|是 | 交易时间,格式:"yyyyMMddHHmmss" |
+| merReserve     | String|否 | 预留内容,商户自定义。注意不要包含特殊符号,如 "#","&","+" 等 |
+| osType         | String|是 | 用户操作系统类型。<br>"IOS","ANDROID","HARMONYOS","WINDOWS","MAC","OTHER" 选其中一个上送 |
+| osVersion      | String|否 | 用户操作系统版本。示例:"10.0.19043" |
+| userIP         | String|是 | 用户IP |
+| userID         | String|是 | 用户在商家的唯一ID |
+| logisticsStreet| String|是 | 收货地址。若为虚拟物品,填写用户邮箱地址 |
+| openid         | String|否 | 仅适用于微信小程序支付场景 |
+| signType       | String|是 | SHA256 |
+| signature      | String|是 | 签名 |
+
+## 响应参数  <!-- {docsify-ignore} -->
+
+| 参数       | 类型   | 必填 | 描述                                                         |
+| --------- | -------| ---- | ------------------------------------------------------------ |
+| respCode  | String | 是 | 应答码,00表示请求成功 |
+| respMsg   | String | 是 | 应答信息 |
+| merID     | String | 否 | 商户ID |
+| orderNum  | String | 否 | 订单号 |
+| transID   | String | 否 | GoAllPay流水号 |
+| parameter | Object | 否 | 支付相关参数。RespCode为00且非后台支付模式时返|
+
+
+
+**响应参数`parameter`说明:**
+
+(1) H5/WEB/JSAPI交易场景(tradeFrom=`H5`,`WEB`,`JSAPI`)
+
+| 参数     | 类型   | 必填 | 描述                            |
+| -------- | ------ | ---- | ------------------------------- |
+| payUrl | String | 否    | 支付URL |
+
+(2) APP交易场景(tradeFrom=`APP`)
+
+
+| 参数     | 类型   | 必填 | 描述                                                      |
+| -------- | ------ | ---- | --------------------------------------------------------- |
+| tn       | String | 否    | 交易流水号,作为调起 sdk 支付的参数 |
+
+获取到tn后,根据[APP对接文档](AllPay_Integration_Specification_CH.md#6-app模式对接文档)调用SDK进行支付。
+
+
+(3) APPLET交易场景(tradeFrom=`APPLET`)
+
+
+| 参数       | 类型   | 必填 | 描述                                                   |
+| ---------- | ------ | ---- | ------------------------------------------------------ |
+| sdk_params | Object | 否    | 小程序支付所需参数 |
+
+
+
+(4) QRCODE交易场景(tradeFrom=`QRCODE`)
+
+| 参数     | 类型   | 必填 | 描述                            |
+| -------- | ------ | ---- | ------------------------------- |
+| code_url | String | 否    | 二维码字符串 |
+
+
+(5) QUICK交易场景(tradeFrom=`QUICK`)
+
+| 参数     | 类型   | 必填 | 描述                            |
+| -------- | ------ | ---- | ------------------------------- |
+| payUrl | String | 否    | 收银台URL |
+
+
+## 交易场景和支持品牌 <!-- {docsify-ignore} -->
+
+tradeFrom|支持paymentBrand列表|交易示例
+---|---|---
+H5|unionpay,alipay_cn,alipay_hk,...|[报文示例](/examples/examples_op?id=h5-payment)
+WEB|alipay_cn,alipay_hk,...|[报文示例](/examples/examples_op?id=web-payment)
+APP|unionpay,wechat_pay,alipay_cn,alipay_hk,...|[报文示例](/examples/examples_op?id=app-payment)
+JSAPI|wechat_pay,alipay_cn|[报文示例](/examples/examples_op?id=jsapi-payment)
+APPLET|wechat_pay,alipay_cn|[报文示例](/examples/examples_op?id=applet-payment)
+QRCODE|unionpay,wechat_pay,alipay_cn,....|[报文示例](/examples/examples_op?id=qrcode-payment)
+QUICK|wechat_pay|[报文示例](/examples/examples_op?id=quick-payment)

File diff suppressed because it is too large
+ 77 - 0
docs/op_api/pay/pay_ppro.md


+ 54 - 0
docs/op_api/refund.md

@@ -0,0 +1,54 @@
+# 退款
+## 接口说明  <!-- {docsify-ignore} -->
+
+**1. 接口功能说明**
+
+  该接口为接入商家提供交易退款的功能。
+
+ (1)接口补充说明
+ * 该接口在消费交易成功后发起,要求指定原订单号
+ * 外卡交易当日不能做退款,可以做撤销,只能隔日退款
+ * 正常情况下,商户当日退款金额,不得大于当日成功交易额
+
+ (2)接口交易流程
+
+  ![](https://allpayfile-hd2.oss-cn-shanghai.aliyuncs.com/git/b2c/15665469966231.jpg)
+
+## 请求路径  <!-- {docsify-ignore} -->
+ 
+>`POST` /api/v5/refund
+
+
+## 请求参数  <!-- {docsify-ignore} -->
+
+
+| 参数          | 类型       | 必填 | 描述                                                         |
+| ------------- | ---------- | ---- | ------------------------------------------------------------ |
+| orderNum      | String| 是| 退款订单号:商户自行定义,需保证同一商户号下退款订单号不能重复 |
+| origOrderNum  | String| 是| 原支付订单号                                                 |
+| returnAmount  | String| 是| 退款金额:如 100 元,表示为 100 或 100.00                    |
+| orderCurrency | String| 是| 订单币种:ISO标准 如:人民币填写“CNY”,美元填写"USD"          |
+| merID         | String| 是| 商户 ID,由 GoAllPay 分配                                       |
+| paymentBrand  | String| 是| 支付品牌|
+| transTime     | String| 是| 交易时间,格式:"yyyyMMddHHmmss"                             |
+| backURL       | String| 是| 退款结果异步通知到该URL。退款成功后,GoAllPay 会以 POST JSON 方式调用 backURL 通知退款结果(详见退款结果通知-回调)。商户在接收到通知后,需响应字符串“OK”。 <br>如果没有收到商户响应“OK”,GoAllPay将会过一段时间后重新推送,时间间隔为[15, 15, 15, 30, 180, 1800, 3600, 7200, 14400],单位为秒。|
+| signType      | String| 是| SHA256                                                  |
+| signature     | String| 是| 签名          
+
+## 响应参数  <!-- {docsify-ignore} -->
+
+| 参数      | 类型       | 必填 | 描述                                           |
+| --------- | ---------- | ---- | ---------------------------------------------- |
+| transType    | String| 是| “REFD”                                 |
+| orderNum     | String| 是| 退款订单号                                     |
+| transID      | String| 是| GoAllPay流水号         |
+| merID        | String| 是| 商户 ID |
+| paymentBrand | String| 是| 支付品牌|
+| respCode     | String| 是| 应答码 00-成功,01-失败。详情见本文档第5章应答码 |
+| respMsg      | String| 是| 应答消息                       |
+| transTime    | String| 是| 交易时间,格式:"yyyyMMddHHmmss"                 |
+| gwTime       | String| 是| yyyyMMddHHmmss,为 GW 时间,目前为本地交易时间 |
+| returnAmount | String| 是| 退款金额 |
+| orderCurrency| String| 是| 订单币种 |
+| signType     | String| 是| SHA256                                   |
+| signature    | String| 是| 签名                          |

+ 33 - 0
docs/op_api/result_pay.md

@@ -0,0 +1,33 @@
+# 支付结果通知
+
+## 接口说明  <!-- {docsify-ignore} -->
+
+商家调用支付接口、收银台支付接口、后台支付接口、预授权接口,结果将通过该接口返回到交易的 backURL 位置。
+
+## 请求路径  <!-- {docsify-ignore} -->
+ 商户支付接口中的 backURL 参数指定的路径。
+ 
+ >`交易方向 ` GoAllPay → 商户<br>
+ > `POST ` <支付交易请求中的backURL>
+
+## 请求参数  <!-- {docsify-ignore} -->
+
+| 参数          | 类型         | 必填 | 描述                                                         |
+| ------------- | ------------ | ---- | -----|
+| transType     | String|是| `PURC`                                 |
+| orderNum      | String|是| 订单号 |
+| orderAmount   | String|是| 订单金额 |
+| orderCurrency | String|是| 订单币种 |
+| merID         | String|是| 商户 ID |
+| respCode      | String|是| 应答码 00-成功,01-失败。详情见本文档第5章应答码 |
+| respMsg       | String|是| 应答消息                                                     |
+| transID       | String|是| GoAllPay流水号                       |
+| gWTime        | String|是| yyyyMMddHHmmss,为 GW 时间                                   |
+| transTime     | String|是| 交易时间,格式:"yyyyMMddHHmmss"                             |
+| merReserve    | String|否| 商户预留内容 |
+| paymentBrand  | String|否| 支付品牌,交易成功时(RespCode=`00`),为必要的信息|
+| signType      | String|是| SHA256 |
+| signature     | String|是| 签名|
+
+## 响应参数  <!-- {docsify-ignore} -->
+字符串`OK`

+ 32 - 0
docs/op_api/result_refund.md

@@ -0,0 +1,32 @@
+# 退款结果通知
+## 接口说明  <!-- {docsify-ignore} -->
+ 退款交易成功后,结果将通过该接口返回到退款交易的 backURL 位置。
+
+## 请求路径  <!-- {docsify-ignore} -->
+ 商户支付接口中的 backURL 参数指定的路径。
+ 
+ >`交易方向 ` GoAllPay → 商户<br>
+ > `POST ` <退款交易请求中的backURL>
+
+
+## 请求参数  <!-- {docsify-ignore} -->
+
+
+| 参数      | 类型       | 必填 | 描述                                           |
+| --------- | ---------- | ---- | ---------------------------------------------- |
+| transType    | String| 是| “REFD”                                 |
+| orderNum     | String| 是| 退款订单号                                     |
+| transID      | String| 是| GoAllPay流水号         |
+| merID        | String| 是| 商户 ID |
+| paymentBrand | String| 是| 支付品牌|
+| respCode     | String| 是| 应答码 00-成功,01-失败。详情见本文档第5章应答码 |
+| respMsg      | String| 是| 应答消息                       |
+| transTime    | String| 是| 交易时间,格式:"yyyyMMddHHmmss"                 |
+| gwTime       | String| 是| yyyyMMddHHmmss,为 GW 时间,目前为本地交易时间 |
+| returnAmount | String| 是| 退款金额 |
+| orderCurrency| String| 是| 订单币种 |
+| signType     | String| 是| SHA256                                   |
+| signature    | String| 是| 签名     
+
+## 响应参数  <!-- {docsify-ignore} -->
+字符串`OK`

File diff suppressed because it is too large
+ 34 - 0
docs/summary.md


+ 1 - 1
v5/android/android_sdk/Demo/app/build.gradle

@@ -39,7 +39,7 @@ dependencies {
    testImplementation 'junit:junit:4.12'
     implementation 'androidx.appcompat:appcompat:1.1.0'
     implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
-    api("io.github.goallpay:allpaysdk:+")
+    api("io.github.goallpay:allpaysdk:5.2.12")
 
 
 

BIN
v5/ios/ios_sdk/Demo/Demo.xcodeproj/project.xcworkspace/xcuserdata/bensonzhang.xcuserdatad/UserInterfaceState.xcuserstate