diff --git a/pay-java-ali/README.md b/pay-java-ali/README.md index bebaa86..e7a2f5e 100644 --- a/pay-java-ali/README.md +++ b/pay-java-ali/README.md @@ -113,6 +113,18 @@ Map appOrderInfo = service.orderInfo(payOrder); /*-----------/APP-------------------*/ +``` +#### 小程序支付 + +```java + + /*-----------APP-------------------*/ + payOrder.setTransactionType(AliTransactionType.MINAPP); + payOrder.setOpenid("支付宝小程序授权登录成功后获取到的支付宝 user_id") + //获取小程序支付所需的信息组,直接给小程序网页端就可使用 + Map appOrderInfo = service.orderInfo(payOrder); + /*-----------/APP-------------------*/ + ``` #### 即时到帐 WAP 网页支付 diff --git a/pay-java-ali/src/main/java/com/egzosn/pay/ali/api/AliPayService.java b/pay-java-ali/src/main/java/com/egzosn/pay/ali/api/AliPayService.java index 06cd7b5..7cc5075 100644 --- a/pay-java-ali/src/main/java/com/egzosn/pay/ali/api/AliPayService.java +++ b/pay-java-ali/src/main/java/com/egzosn/pay/ali/api/AliPayService.java @@ -213,6 +213,11 @@ public class AliPayService extends BasePayService { bizContent.put(PASSBACK_PARAMS, order.getAddition()); bizContent.put(PRODUCT_CODE, "QUICK_MSECURITY_PAY"); break; + case MINAPP: + bizContent.put("extend_params", order.getAddition()); + bizContent.put("buyer_id", order.getOpenid()); + bizContent.put(PRODUCT_CODE, "FACE_TO_FACE_PAYMENT"); + break; case BAR_CODE: case WAVE_CODE: case SECURITY_CODE: @@ -223,7 +228,7 @@ public class AliPayService extends BasePayService { } if (null != order.getExpirationTime()) { - bizContent.put("timeout_express", DateUtils.minutesRemaining(order.getExpirationTime()) + "m"); + bizContent.put(order.getTransactionType() == AliTransactionType.SWEEPPAY ? "qr_code_timeout_express" : "timeout_express", DateUtils.minutesRemaining(order.getExpirationTime()) + "m"); } orderInfo.put(BIZ_CONTENT, JSON.toJSONString(bizContent)); orderInfo.putAll(order.getAttrs()); diff --git a/pay-java-ali/src/main/java/com/egzosn/pay/ali/bean/AliTransactionType.java b/pay-java-ali/src/main/java/com/egzosn/pay/ali/bean/AliTransactionType.java index bb722de..2073ba3 100644 --- a/pay-java-ali/src/main/java/com/egzosn/pay/ali/bean/AliTransactionType.java +++ b/pay-java-ali/src/main/java/com/egzosn/pay/ali/bean/AliTransactionType.java @@ -44,6 +44,10 @@ public enum AliTransactionType implements TransactionType { * 声波付 */ WAVE_CODE("alipay.trade.pay"), + /** + * 小程序 + */ + MINAPP("alipay.trade.create"), /** * 刷脸付 */ diff --git a/pay-java-common/src/main/java/com/egzosn/pay/common/bean/PayOrder.java b/pay-java-common/src/main/java/com/egzosn/pay/common/bean/PayOrder.java index dd550be..1982763 100644 --- a/pay-java-common/src/main/java/com/egzosn/pay/common/bean/PayOrder.java +++ b/pay-java-common/src/main/java/com/egzosn/pay/common/bean/PayOrder.java @@ -71,6 +71,7 @@ public class PayOrder implements Order { /** * 用户唯一标识 * 微信含 sub_openid 字段 + * 支付宝 buyer_id */ private String openid; /**