diff --git a/pom.xml b/pom.xml
index 2d7a0d240..7d409829d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -9,7 +9,7 @@
4.0.0
manage
- 2.3.77-SNAPSHOT
+ 2.3.78
UTF-8
2.4.0
diff --git a/src/document/openapi/cn/components_order.yml b/src/document/openapi/cn/components_order.yml
index 38a9d38f1..ea511b3ea 100644
--- a/src/document/openapi/cn/components_order.yml
+++ b/src/document/openapi/cn/components_order.yml
@@ -32,6 +32,80 @@ orderBasic:
可以提供以下格式的精确时间:yyyy-MM-dd HH:mm:ss,基于GMT+10时区。
或以以下格式提供:数字+m/h,m=分钟,h=小时
超时时间最小1m,最大24h
+ extra:
+ type: object
+ description: 订单扩展参数,部分渠道必填
+ properties:
+ pay_type:
+ type: string
+ description: 钱包类型,AlipayPlus 线上订单必填,默认是alipay_cn
+ enum:
+ - alipay_cn
+ - alipay_hk
+ - gcash
+ - dana
+ - bkash
+ - kakaopay
+ - easy_paisa
+ - tng
+ - truemoney
+ flights:
+ type: array
+ description: 航班信息,如果有多个航班需分开填入,如果商户业务类型是航班类型且钱包类型为alipay_cn时必填
+ items:
+ type: object
+ properties:
+ flight_no:
+ type: string
+ description: 航班号
+ departure_time:
+ type: string
+ format: date-time
+ example: '202103011203'
+ pattern: yyyyMMddHHmm
+ description: 起飞时间(当地时区)
+ hotels:
+ type: array
+ description: 酒店预订信息,如果有多个酒店则分开录入,如果商户类型为旅游且钱包类型为alipay_cn时必填
+ items:
+ type: object
+ properties:
+ name:
+ type: string
+ description: 酒店名称
+ check_in_time:
+ type: string
+ format: date
+ example: '20210301'
+ pattern: yyyyMMdd
+ description: 入住日期
+ check_out_time:
+ type: string
+ format: date
+ example: '20210302'
+ pattern: yyyyMMdd
+ description: 离店日期
+ schools:
+ type: array
+ description: 留学信息,如果存在多个则分开录入,如果商户类型为留学且钱包类型为alipay_cn时必填
+ items:
+ type: object
+ properties:
+ admission_notice_url:
+ type: string
+ description: 学校AdmissionNotice网页地址
+ goods:
+ type: array
+ description: 商品信息,如果存在多个则分开录入,如果商户类型为贸易且钱包类型为alipay_cn时必填
+ items:
+ type: object
+ properties:
+ name:
+ type: string
+ description: 商品名称
+ quantity:
+ type: number
+ description: 数量
orderWithChannel:
allOf:
- $ref: '#/orderBasic'
@@ -42,6 +116,7 @@ orderWithChannel:
enum:
- Alipay
- Wechat
+ - AlipayPlus
type: object
required:
- channel
diff --git a/src/document/openapi/cn/document.yml b/src/document/openapi/cn/document.yml
index 110937038..d00778a0d 100644
--- a/src/document/openapi/cn/document.yml
+++ b/src/document/openapi/cn/document.yml
@@ -140,9 +140,9 @@ tags:
- name: RetailPay
description: |
线下支付订单接口用于线下零售收银,有B扫C和C扫B两种模式
- - name: AlipayOnline
+ - name: ChannelGateway
description: |
- 用于PC端支付宝支付,创建订单后跳转到返回的pay_url(需附加签名参数和redirect参数),随后进入支付宝支付页面完成支付
+ 用于PC端渠道网关支付,创建订单后跳转到返回的pay_url(需附加签名参数和redirect参数),随后进入渠道收银台页面完成支付
该接口现仅支持支付宝。
- name: CB Bank
@@ -212,7 +212,7 @@ paths:
- SDK Payment
- CB Bank
- RetailPay
- - AlipayOnline
+ - ChannelGateway
- CardPayment
- MiniProgram
- MobileH5
@@ -239,7 +239,7 @@ paths:
- SDK Payment
- CB Bank
- RetailPay
- - AlipayOnline
+ - ChannelGateway
- CardPayment
- MiniProgram
- MobileH5
@@ -833,13 +833,13 @@ paths:
description: 付款码字符串,商户可自行生成二维码 # todo
/alipay/partners/{partner_code}/orders/{partner_order_id}:
put:
- summary: 支付宝WEB订单下单
+ summary: 渠道网关订单下单
x-sort-order: 0
description: |
创建订单后跳转到返回的pay_url(需附加签名参数和redirect参数),随后进入支付宝支付页面完成支付
该接口现仅支持支付宝。
tags:
- - AlipayOnline
+ - ChannelGateway
parameters:
- name: partner_code
in: path
@@ -851,7 +851,16 @@ paths:
content:
application/json:
schema:
- $ref: 'components_order.yml#/orderBasic'
+ allOf:
+ - $ref: 'components_order.yml#/orderBasic'
+ - type: object
+ properties:
+ channel:
+ type: string
+ description: 支付渠道,默认为Alipay
+ enum:
+ - Alipay
+ - AlipayPlus
responses:
200:
description: Order
@@ -1016,7 +1025,7 @@ paths:
- MobileH5
- MiniProgram
- CardPayment
- - AlipayOnline
+ - ChannelGateway
- RetailPay
- CB Bank
- SDK Payment
@@ -1062,7 +1071,7 @@ paths:
- MobileH5
- MiniProgram
- CardPayment
- - AlipayOnline
+ - ChannelGateway
- RetailPay
- CB Bank
- SDK Payment
@@ -1234,7 +1243,7 @@ paths:
- SDK Payment
- CB Bank
- RetailPay
- - AlipayOnline
+ - ChannelGateway
- CardPayment
- MiniProgram
- MobileH5
diff --git a/src/main/ui/static/templates/alipay/v1/payment.js b/src/main/ui/static/templates/alipay/v1/payment.js
index db74dc68c..9f846d9df 100644
--- a/src/main/ui/static/templates/alipay/v1/payment.js
+++ b/src/main/ui/static/templates/alipay/v1/payment.js
@@ -268,6 +268,10 @@ $(function () {
location.href = '/api/v1.0/alipay/partners/' + window.client_moniker + '/orders/' + pay.order_id + '/result';
return;
}
+ if (pay.mweb_url){
+ location.href = pay.mweb_url;
+ return;
+ }
if (window.AlipayJSBridge) {
callPayment();
} else {
diff --git a/src/main/ui/static/templates/alipay/v4/payment.js b/src/main/ui/static/templates/alipay/v4/payment.js
index 8585cc64c..43c4c0012 100644
--- a/src/main/ui/static/templates/alipay/v4/payment.js
+++ b/src/main/ui/static/templates/alipay/v4/payment.js
@@ -313,6 +313,10 @@ $(function () {
location.href = '/api/v1.0/alipay/partners/' + window.client_moniker + '/orders/' + pay.order_id + '/result';
return;
}
+ if (pay.mweb_url){
+ location.href = pay.mweb_url;
+ return;
+ }
if (window.AlipayJSBridge) {
callPayment();
} else {
diff --git a/src/main/ui/static/templates/alipay/v5/payment.js b/src/main/ui/static/templates/alipay/v5/payment.js
index 263cf63db..c43709374 100644
--- a/src/main/ui/static/templates/alipay/v5/payment.js
+++ b/src/main/ui/static/templates/alipay/v5/payment.js
@@ -276,6 +276,10 @@ $(function () {
location.href = '/api/v1.0/alipay/partners/' + window.client_moniker + '/orders/' + pay.order_id + '/result';
return;
}
+ if (pay.mweb_url){
+ location.href = pay.mweb_url;
+ return;
+ }
if (window.AlipayJSBridge) {
callPayment();
} else {