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 {