benson 4 years ago
parent
commit
ae9f95e4df
5 changed files with 533 additions and 0 deletions
  1. 3 0
      docs/zh/expup/1.md
  2. 424 0
      docs/zh/expup/2.md
  3. 10 0
      docs/zh/expup/3.md
  4. 89 0
      docs/zh/expup/4.md
  5. 7 0
      docs/zh/expup/README.md

+ 3 - 0
docs/zh/expup/1.md

@@ -0,0 +1,3 @@
+# 1. 商家服务器端API
+
+商户服务器和AllPay网关对接的接口包括五种:订购消费,订购预授权,订购预授权完成, 预授权撤消, 查询。

+ 424 - 0
docs/zh/expup/2.md

@@ -0,0 +1,424 @@
+# 2.通用API说明
+
+商户服务器和 AllPay 网关对接的通用接口,每个渠道都具有的功能,包括:订购消费,订购预授权,订购预授权完成,预售期撤销,查询接口。 
+
+## 2.1.验签说明
+
+1.对于发送到 ALLPAY 系统的 POST 请求报文,其中所有传入参数(除 sign 参数外)按照字段名的 ASCII 码从小到大排序后(字典序),使用 URL 键值对的格式(即 key1=value1&key2=value2...)拼接成字符串 String1。
+
+2.在 String1 最后直接拼接(不需要用“&”连接)双方约定的签名密钥 K1(接入时 ALLPAY 时分配),得到 stringSignTemp 字符串,并对 stringSignTemp 进行sha256 运算,得到 sign 的值。
+
+3.示例签名串
+
+```js
+card_no=5200831111111113&currency=CNY&expiry_date=1119&mch_id=000000000000015&order_amount=100&sign_type=SHA256&trade_no=370000197809218764&trade_time=20180829165052&trade_type=PURC2f2c77e3718c47cfb47a89a6fbc9d361
+```
+
+## 2.2.通用API 接入地址
+
+开发调试地址|生产交易地址  
+-----------|-------
+<https://testapi.allpayx.com/expup> |<https://api.allpayx.com/expup>
+
+## 2.3.订购消费接口
+
+接口说明:
+
+该接口可以进行订购消费,每次trade_no不能重复
+
+1. 请求参数
+
+   | 参数名称     | 必填 | 使用说明                                       |
+   | :----------- | :--- | ---------------------------------------------- |
+   | mch_id       | M    | 商户ID,由AllPay分配                           |
+   | trade_type   | M    | 交易类型 消费填写"PURC"                        |
+   | trade_no     | M    | 商户自行定义,需保证同一商户号下订单号不能重复 |
+   | order_amount | M    | 订单金额   如100元,表示为100或100.00          |
+   | currency     | M    | 订单币种  人民币填写“CNY”,美元填写"USD"        |
+   | card_no      | M    | 卡号                                           |
+   | expiry_date  | M    | 有效期  MMYY                                   |
+   | trade_time   | M    | 交易时间,格式:"yyyyMMddHHmmss"                 |
+   | sign_type    | M    | SHA256                                         |
+   | sign         | M    | 签名                                           |
+
+   举例如下:
+
+   ```json
+   {
+   	"mch_id": "000000000000015",
+   	"trade_type": "PURC",
+   	"trade_no": "370000197809218764",
+   	"order_amount": "100",
+   	"currency": "CNY",
+   	"card_no": "5200831111111113",
+   	"expiry_date": "1119",
+   	"trade_time": "20180829165052",
+   	"sign_type": "SHA256",
+   	"sign": "426907204360081d7c728a6695067bc84233e82d0e3a61703313d874aa741d76"
+   }
+   ```
+
+2. 响应报文
+
+参数如下表:
+
+| 参数名称   | 必填 | 使用说明             |
+| ---------- | ---- | -------------------- |
+| resp_code  | M    | 应答码 00-成功       |
+| resp_msg   | M    | 应答信息             |
+| mch_id     | M    | 商户ID,由AllPay分配 |
+| trade_type | M    | 交易类型             |
+| trade_time | M    | 交易时间             |
+| trade_no   | M    | 交易订单号           |
+| sign_type  | M    | SHA256               |
+| sign       | M    | 签名                 |
+
+举例如下:
+
+```json
+{
+  "resp_code": "00",
+  "resp_msg": "SUCCESS",
+  "mch_id": "000000000000015",
+  "trade_type": "PURC",
+  "trade_time": "20180829165048",
+  "trade_no": "520000197701311324",
+  "sign_type": "SHA256",
+  "sign": "7ca2442edac07b92ee9d086d2df1635b62c1d5d4ab33ffe8ceb2c195579a8698"
+}
+```
+
+## 2.4.消费退款接口
+
+接口说明:
+
+该接口可以对订购消费进行退款,退款时origin_trade_no填写订购消费时的trade_no,可以进行分步退款,分步退款时每次的trade_no不能重复。
+
+1. 请求参数
+
+   | 参数名称       | 必填 | 使用说明                                       |
+   | :------------- | :--- | ---------------------------------------------- |
+   | mch_id         | M    | 商户ID,由AllPay分配                           |
+   | trade_type     | M    | 交易类型 退款填写"REFD"              |
+   | trade_no       | M    | 商户自行定义,需保证同一商户号下订单号不能重复 |
+   | origin_trade_no       | M    | 原订购消费订单号, 原交易类型必须为PURC |
+   | refund_amount | M    | 退款金额   如100元,表示为100或100.00          |
+   | currency | M    | 订单币种  人民币填写“CNY”,美元填写"USD"        |
+   | trade_time     | M    | 交易时间,格式:"yyyyMMddHHmmss"                 |
+   | sign_type      | M    | SHA256                                         |
+   | sign           | M    | 签名                                           |
+
+   举例如下:
+
+   ```json
+   {
+   	"mch_id": "000000000000015",
+   	"trade_type": "REFD",
+   	"trade_no": "990000198707011244",
+   	"origin_trade_no": "230000197106062088",
+   	"refund_amount": "1",
+   	"currency": "CNY",
+   	"trade_time": "20180829165313",
+   	"sign_type": "SHA256",
+   	"sign": "edc8e56be38190402ee537e3fc4e30766d47a0ca297c2de4be460a99a6139e14"
+   }
+   ```
+
+2. 响应报文
+
+参数如下表:
+
+| 参数名称   | 必填 | 使用说明             |
+| ---------- | ---- | -------------------- |
+| resp_code  | M    | 应答码 00-成功       |
+| resp_msg   | M    | 应答信息             |
+| mch_id     | M    | 商户ID,由AllPay分配 |
+| trade_type | M    | 交易类型             |
+| trade_time | M    | 交易时间             |
+| trade_no   | M    | 交易订单号           |
+| sign_type  | M    | SHA256               |
+| sign       | M    | 签名                 |
+
+举例如下:
+
+```json
+{
+  "resp_code": "00",
+  "resp_msg": "SUCCESS",
+  "mch_id": "000000000000015",
+  "trade_type": "REFD",
+  "trade_time": "20180829165313",
+  "trade_no": "990000198707011244",
+  "sign_type": "SHA256",
+  "sign": "3a370170181a5aa6b5f53cb3ae81890813c455df6ec9b1a894a49302fcc3d055"
+}
+```
+
+## 2.5.订购预授权 
+
+接口说明:
+
+该接口可以进行订购预授权,每次trade_no不能重复
+
+
+1. 请求参数
+
+   | 参数名称     | 必填 | 使用说明                                       |
+   | :----------- | :--- | ---------------------------------------------- |
+   | mch_id       | M    | 商户ID,由AllPay分配                           |
+   | trade_type   | M    | 交易类型 预授权填写" PAUT "                    |
+   | trade_no     | M    | 商户自行定义,需保证同一商户号下订单号不能重复 |
+   | order_amount | M    | 订单金额   如100元,表示为100或100.00          |
+   | currency     | M    | 订单币种  人民币填写“CNY”,美元填写"USD"        |
+   | card_no      | M    | 卡号                                           |
+   | expiry_date  | M    | 有效期  MMYY                                   |
+   | trade_time   | M    | 交易时间,格式:"yyyyMMddHHmmss"                 |
+   | sign_type    | M    | SHA256                                         |
+   | sign         | M    | 签名                                           |
+
+   举例如下:
+
+   ```json
+   {
+   	"mch_id": "000000000000015",
+   	"trade_type": "PAUT",
+   	"trade_no": "620000199911267889",
+   	"order_amount": "100",
+   	"currency": "CNY",
+   	"card_no": "5200831111111113",
+   	"expiry_date": "1119",
+   	"trade_time": "20180829165720",
+   	"sign_type": "SHA256",
+   	"sign": "ac7cf7d284cf72743e16c51b7a95d9a61b7dbb6f50e92f5699ecf4d9f8e65aee"
+   }
+   ```
+
+2. 响应报文
+
+参数如下表:
+
+| 参数名称   | 必填 | 使用说明             |
+| ---------- | ---- | -------------------- |
+| resp_code  | M    | 应答码 00-成功       |
+| resp_msg   | M    | 应答信息             |
+| mch_id     | M    | 商户ID,由AllPay分配 |
+| trade_type | M    | 交易类型             |
+| trade_time | M    | 交易时间             |
+| trade_no   | M    | 交易订单号           |
+| sign_type  | M    | SHA256               |
+| sign       | M    | 签名                 |
+
+举例如下:
+
+```json
+{
+  "resp_code": "00",
+  "resp_msg": "SUCCESS",
+  "mch_id": "000000000000015",
+  "trade_type": "PAUT",
+  "trade_time": "20180829165720",
+  "trade_no": "620000199911267889",
+  "sign_type": "SHA256",
+  "sign": "7421f9720d56b1d417edc26f89d2777b74d7745440bfc4957c853474f20ea4f7"
+}
+```
+
+
+
+
+
+## 2.6.订购预授权完成 
+
+接口说明:
+
+该接口可以对订购预授权完成,origin_trade_no填写订购预授权时的trade_no
+
+
+1. 请求参数
+
+   | 参数名称        | 必填 | 使用说明                                       |
+   | :-------------- | :--- | ---------------------------------------------- |
+   | mch_id          | M    | 商户ID,由AllPay分配                           |
+   | trade_type      | M    | 交易类型 预授权完成填写"  PAUC  "              |
+   | trade_no        | M    | 商户自行定义,需保证同一商户号下订单号不能重复 |
+   | origin_trade_no | M    | 原预授权订单号, 原交易类型必须为PAUT           |
+   | order_amount    | M    | 订单金额   如100元,表示为100或100.00          |
+   | currency        | M    | 订单币种  人民币填写“CNY”,美元填写"USD"        |
+   | trade_time      | M    | 交易时间,格式:"yyyyMMddHHmmss"                 |
+   | sign_type       | M    | SHA256                                         |
+   | sign            | M    | 签名                                           |
+
+
+
+   举例如下:
+
+   ```json
+   {
+   	"mch_id": "000000000000015",
+   	"trade_type": "PAUC",
+   	"origin_trade_no": "620000199911267889",
+   	"trade_no": "310000198512106263",
+   	"order_amount": "100",
+   	"currency": "CNY",
+   	"trade_time": "20180829170036",
+   	"sign_type": "SHA256",
+   	"sign": "0a532fdc7488bdbc6cdc87d24635fdd7294d6d3fc8cf0eb387d4b74b5fc3dcb7"
+   }
+   ```
+
+2. 响应报文
+
+参数如下表:
+
+| 参数名称   | 必填 | 使用说明             |
+| ---------- | ---- | -------------------- |
+| resp_code  | M    | 应答码 00-成功       |
+| resp_msg   | M    | 应答信息             |
+| mch_id     | M    | 商户ID,由AllPay分配 |
+| trade_type | M    | 交易类型             |
+| trade_time | M    | 交易时间             |
+| trade_no   | M    | 交易订单号           |
+| sign_type  | M    | SHA256               |
+| sign       | M    | 签名                 |
+
+举例如下:
+
+```json
+{
+  "resp_code": "00",
+  "resp_msg": "SUCCESS",
+  "mch_id": "000000000000015",
+  "trade_type": "PAUC",
+  "trade_time": "20180829170036",
+  "trade_no": "310000198512106263",
+  "sign_type": "SHA256",
+  "sign": "5769c35d68d8263ace180e224eea6ebb8907cc1a1042a9f955cd9c32fd0602cf"
+}
+```
+## 2.7.撤销接口 
+
+接口说明:
+
+该接口可以对 订购消费,订购预授权,订购预授权完成进行撤销,origin_trade_no填写对应交易的trade_no。
+
+
+1. 请求参数
+
+   | 参数名称        | 必填 | 使用说明                                       |
+   | :-------------- | :--- | ---------------------------------------------- |
+   | mch_id          | M    | 商户ID,由AllPay分配                           |
+   | trade_type      | M    | 交易类型 撤销填写"VOID "                       |
+   | trade_no        | M    | 商户自行定义,需保证同一商户号下订单号不能重复 |
+   | origin_trade_no | M    | 需要撤销的订单号                               |
+   | trade_time      | M    | 交易时间,格式:"yyyyMMddHHmmss"                 |
+   | sign_type       | M    | SHA256                                         |
+   | sign            | M    | 签名                                           |
+
+   举例如下:
+
+   ```json
+   {
+   	"mch_id": "000000000000015",
+   	"trade_type": "VOID",
+   	"trade_no": "370000197912155378",
+   	"origin_trade_no": "460000201604155983",
+   	"trade_time": "20180829170913",
+   	"sign_type": "SHA256",
+   	"sign": "6c0815cd8f364dacc965e6bc2ce144fe56b7743912f0520db33c9c3393e75d26"
+   }
+   ```
+
+2. 响应报文
+
+参数如下表:
+
+| 参数名称   | 必填 | 使用说明             |
+| ---------- | ---- | -------------------- |
+| resp_code  | M    | 应答码 00-成功       |
+| resp_msg   | M    | 应答信息             |
+| mch_id     | M    | 商户ID,由AllPay分配 |
+| trade_type | M    | 交易类型             |
+| trade_time | M    | 交易时间             |
+| trade_no   | M    | 交易订单号           |
+| sign_type  | M    | SHA256               |
+| sign       | M    | 签名                 |
+
+举例如下:
+
+```json
+{
+  "resp_code": "00",
+  "resp_msg": "SUCCESS",
+  "mch_id": "000000000000015",
+  "trade_type": "VOID",
+  "trade_time": "20180829170913",
+  "trade_no": "370000197912155378",
+  "sign_type": "SHA256",
+  "sign": "d48e6a23b87f7f3b47598aed52fe60aaccb053979de588170f943f9a3426ced4"
+}
+```
+
+## 2.8.交易查询 
+
+接口说明:
+
+该接口可以对订购消费,订购预授权,订购预授权完成,退款,撤销,进行查询,trade_no填写要查询的订单的
+
+
+1. 请求参数
+
+   | 参数名称   | 必填 | 使用说明                       |
+   | :--------- | :--- | ------------------------------ |
+   | mch_id     | M    | 商户ID,由AllPay分配           |
+   | trade_type | M    | 交易类型 查询填写"INQY"        |
+   | trade_no   | M    | 需要查询状态的订单号           |
+   | trade_time | M    | 交易时间,格式:"yyyyMMddHHmmss" |
+   | sign_type  | M    | SHA256                         |
+   | sign       | M    | 签名                           |
+
+   举例如下:
+
+   ```json
+   {
+   	"mch_id": "000000000000015",
+   	"trade_type": "INQY",
+   	"trade_no": "990000198707011244",
+   	"trade_time": "20180829171422",
+   	"sign_type": "SHA256",
+   	"sign": "2bdfe50dc7c207891e132485eedf978c3f355f3a8e3ad25d6b4260c388a584c5"
+   }
+   ```
+
+2. 响应报文
+
+参数如下表:
+
+| 参数名称      | 必填 | 使用说明                               |
+| ------------- | ---- | -------------------------------------- |
+| resp_code     | M    | 应答码 00-成功                         |
+| resp_msg      | M    | 应答信息                               |
+| mch_id        | M    | 商户ID,由AllPay分配                   |
+| trade_type    | M    | 交易类型                               |
+| trade_time    | M    | 交易时间                               |
+| trade_no      | M    | 交易订单号                             |
+| order_amount  | C    | trade_type 为PURC,PAUT,PAUC时返回      |
+| refund_amount | C    | trade_type 为REFD时返回                |
+| currency      | C    | trade_type 为PURC,PAUT,PAUC,REFD时返回 |
+| sign_type     | M    | SHA256                                 |
+| sign          | M    | 签名                                   |
+
+举例如下:
+
+```json
+{
+  "mch_id": "000000000000015",
+  "trade_type": "REFD",
+  "trade_time": "20180829165313",
+  "trade_no": "990000198707011244",
+  "refund_amount": "1",
+  "currency": "CNY",
+  "sign_type": "SHA256",
+  "sign": "4ab0c48ac6aac058f7f5d6473679dcebc91d6c57cf3f690ab8984248b5b960f9"
+}
+```
+

+ 10 - 0
docs/zh/expup/3.md

@@ -0,0 +1,10 @@
+# 3.测试账户
+
+以下是银联渠道测试卡,仅用于测试使用: 
+
+```
+卡号:4761340000000019
+有效期:1217
+
+```
+

+ 89 - 0
docs/zh/expup/4.md

@@ -0,0 +1,89 @@
+# 4. 错误码
+
+## 1.通信错误码
+
+| 应答码 | 描述         |
+| ------ | ------------ |
+| U1     | 商户号不存在 |
+| U2     | 签名错误     |
+| U4     | 缺少参数     |
+| U5     | 无效的参数   |
+| U6     | 重复的交易号 |
+| U7     | 订单号不存在 |
+
+
+
+## 2. 业务错误码
+
+| 应答码 | 描述                                                         |
+| ------ | ------------------------------------------------------------ |
+| 00     | 成功                                                         |
+| 01     | 向发卡行咨询 Refertocardissuer                               |
+| 02     | 想发卡行特殊情况咨询Refertocardissuer'sspecialcondition      |
+| 03     | 无效商户 Invalid merchant                                    |
+| 04     | 没收卡 Pick-up                                               |
+| 05     | 不予承兑Donothonor                                           |
+| 06     | 出错 Error                                                   |
+| 07     | 特殊情况下没收卡 Pick-upcard,specialcondition                |
+| 09     | 请求正在处理中 Request in progress                           |
+| 10     | 部分金额批准 Approved for partial amount                     |
+| 11     | 重要人物批准(VIP)Approved(VIP)                               |
+| 12     | 无效交易 Invalidtransaction                                  |
+| 13     | 无效金额 Invalid amount                                      |
+| 14     | 无效卡号(无此帐号)Invalid card number (no such number)       |
+| 15     | 无此发卡行 No such issuer                                    |
+| 16     | 批准更新第三磁道Approved,updatetrack3                        |
+| 17     | 客户撤销 Customer Cancellation                               |
+| 19     | 重新输入交易 Re-entertransaction                             |
+| 20     | 无效应答 Invalid response                                    |
+| 21     | 无操作Noactiontaken                                          |
+| 22     | 疑似故障 Suspectedmalfunction                                |
+| 23     | 不可接受的交易费 Unacceptable transaction fee                |
+| 25     | 找不到原始交易 Unabletolocateoriginaltransaction             |
+| 30     | 格式错误 Format error                                        |
+| 31     | 交换中心不支持的银行Banknotsupportedbyswitch                 |
+| 33     | 过期的卡 Expired card                                        |
+| 34     | 有作弊嫌疑 Suspectedfraud                                    |
+| 35     | 受卡方与代理方联系 Card acceptor contact security            |
+| 36     | 受限制的卡 Restrictedcard                                    |
+| 37     | 受卡方电话通知代理方安全部门 Card acceptor call acquirer security |
+| 38     | 超过允许的 PIN 尝试次数 Allowable PIN tries exceeded         |
+| 39     | 无贷记账户 No credit account                                 |
+| 40     | 请求的功能尚不支持 Requested function not supported          |
+| 41     | 挂失卡 Lost card                                             |
+| 42     | 无此账户 No universal account                                |
+| 43     | 被窃卡,没收卡 Stolen card, pick-up                          |
+| 44     | 无此投资账户 No investment account                           |
+| 51     | 资金不足 Not sufficient funds                                |
+| 52     | 无此支票账户 No chequing account                             |
+| 53     | 无此储蓄卡账户 No saving account                             |
+| 54     | 过期的卡 Expired card                                        |
+| 55     | PIN 错误 Incorrect personal identification number            |
+| 56     | 无此卡记录 No card record                                    |
+| 57     | 不允许此持卡人进行的交易Transactionnotpermittedtocardholder  |
+| 58     | 不允许此终端进行的交易Transactionnotpermittedtoterminal      |
+| 59     | 有作弊嫌疑 Suspectedfraud                                    |
+| 60     | 受卡方与代理方联系(不没收卡)Card acceptor contact acquirer   |
+| 61     | 超出金额限制 Exceeds amount limit                            |
+| 62     | 受限制的卡 Restrictedcard                                    |
+| 63     | 安全违规 Security violation                                  |
+| 64     | 原始金额错误 Original amount incorrect                       |
+| 65     | 超出取款/小非频率限制Exceedswithdrawalfrequencylimit         |
+| 66     | 受卡方通知受理方安全部门 Card acceptor call acquirer’s security department |
+| 67     | 强行受理(要求ATM没收卡)Hardcapture(requiresthatcardbepickedupatATM) |
+| 68     | 接收应答超时Responsereceivedtoolate                          |
+| 75     | 超出允许的 PIN 尝试次数 Allowable number of PINtries exceeded |
+| 76     | 无效账户 Invalid Account                                     |
+| 90     | 正在日终处理Cutoffisinprocess                                |
+| 91     | 发卡方不能操作 Issuer is inoperative                         |
+| 92     | 金融机构或网络中间设施找不到或者无法到达。Financial institution or intermediate network  facilitycannotbefoundforrouting |
+| 93     | 交易违法,不能完成 Transaction cannot be completed. Violation of law |
+| 94     | 重复的交易 Duplicate transaction                             |
+| 95     | 核对错误 Reconcile error                                     |
+| 96     | 交换中心系统异常、失效Switchsystemmalfunction                |
+| 97     | 无效 ATM/POSID。InvalidATM/POSIds                            |
+| 98     | 交换中心无法从发卡方获取应答。SW couldn’t get reply from IS  |
+| 99     | PIN块错误PIN。BlockError                                     |
+| A0     | MAC 校验失败。MAC failed                                     |
+
+

+ 7 - 0
docs/zh/expup/README.md

@@ -0,0 +1,7 @@
+# Express Pay支付接入规范文档1.0.0
+
+[上海偶可贝网络科技有限公司](https://www.allpayx.com)
+
+* 版本信息:中文 V1.0.0
+* 更新时间:2018 年8 月
+