|
@@ -81,7 +81,16 @@ public class AliPayUtil {
|
|
|
/**
|
|
|
* 支付失败(付款码支付)
|
|
|
*/
|
|
|
- PAYERROR("PAYERROR", "支付失败");
|
|
|
+ PAYERROR("PAYERROR", "支付失败"),
|
|
|
+
|
|
|
+ SUCC("10000","接口调用成功"),
|
|
|
+ SERVER_FAIL("20000","服务不可用"),
|
|
|
+ PERMISSION_DENIED("20001","授权权限不足"),
|
|
|
+ MISSING_PARAM("40001","缺少必选参数"),
|
|
|
+ ILLEGAL_PARAM("40002","非法的参数"),
|
|
|
+ BUSINESS_FAIL("40004","业务处理失败"),
|
|
|
+ ISV_PERMISSION("40006","权限不足");
|
|
|
+
|
|
|
|
|
|
private String code;
|
|
|
private String codeZn;
|
|
@@ -100,6 +109,53 @@ public class AliPayUtil {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ public enum BusinessFailState {
|
|
|
+
|
|
|
+ SYSTEM_ERROR("ACQ.SYSTEM_ERROR","接口返回错误"),
|
|
|
+ EXIST_FORBIDDEN_WORD("ACQ.EXIST_FORBIDDEN_WORD","订单信息中包含违禁词"),
|
|
|
+ TOTAL_FEE_EXCEED("ACQ.TOTAL_FEE_EXCEED","订单总金额超过限额"),
|
|
|
+ PAYMENT_AUTH_CODE_INVALID("ACQ.PAYMENT_AUTH_CODE_INVALID","支付授权码无效"),
|
|
|
+ CONTEXT_INCONSISTENT("ACQ.CONTEXT_INCONSISTENT","交易信息被篡改"),
|
|
|
+ TRADE_HAS_SUCCESS("ACQ.TRADE_HAS_SUCCESS","交易已被支付"),
|
|
|
+ TRADE_HAS_CLOSE("ACQ.TRADE_HAS_CLOSE","交易已经关闭"),
|
|
|
+ BUYER_BALANCE_NOT_ENOUGH("ACQ.BUYER_BALANCE_NOT_ENOUGH","买家余额不足"),
|
|
|
+ BUYER_BANKCARD_BALANCE_NOT_ENOUGH("ACQ.BUYER_BANKCARD_BALANCE_NOT_ENOUGH","用户银行卡余额不足"),
|
|
|
+ ERROR_BALANCE_PAYMENT_DISABLE("ACQ.ERROR_BALANCE_PAYMENT_DISABLE","余额支付功能关闭"),
|
|
|
+ BUYER_SELLER_EQUAL("ACQ.BUYER_SELLER_EQUAL","买卖家不能相同"),
|
|
|
+ TRADE_BUYER_NOT_MATCH("ACQ.TRADE_BUYER_NOT_MATCH","交易买家不匹配"),
|
|
|
+ BUYER_ENABLE_STATUS_FORBID("ACQ.BUYER_ENABLE_STATUS_FORBID","买家状态非法"),
|
|
|
+ PULL_MOBILE_CASHIER_FAIL("ACQ.PULL_MOBILE_CASHIER_FAIL","唤起移动收银台失败"),
|
|
|
+ MOBILE_PAYMENT_SWITCH_OFF("ACQ.MOBILE_PAYMENT_SWITCH_OFF","用户的无线支付开关关闭"),
|
|
|
+ PAYMENT_FAIL("ACQ.PAYMENT_FAIL","支付失败"),
|
|
|
+ BUYER_PAYMENT_AMOUNT_DAY_LIMIT_ERROR("ACQ.BUYER_PAYMENT_AMOUNT_DAY_LIMIT_ERROR","买家付款日限额超限"),
|
|
|
+ BEYOND_PAY_RESTRICTION("ACQ.BEYOND_PAY_RESTRICTION","商户收款额度超限"),
|
|
|
+ BEYOND_PER_RECEIPT_RESTRICTION("ACQ.BEYOND_PER_RECEIPT_RESTRICTION","商户收款金额超过月限额"),
|
|
|
+ BUYER_PAYMENT_AMOUNT_MONTH_LIMIT_ERROR("ACQ.BUYER_PAYMENT_AMOUNT_MONTH_LIMIT_ERROR","买家付款月额度超限"),
|
|
|
+ SELLER_BEEN_BLOCKED("ACQ.SELLER_BEEN_BLOCKED","商家账号被冻结"),
|
|
|
+ ERROR_BUYER_CERTIFY_LEVEL_LIMIT("ACQ.ERROR_BUYER_CERTIFY_LEVEL_LIMIT","买家未通过人行认证"),
|
|
|
+ PAYMENT_REQUEST_HAS_RISK("ACQ.PAYMENT_REQUEST_HAS_RISK","支付有风险"),
|
|
|
+ NO_PAYMENT_INSTRUMENTS_AVAILABLE("ACQ.NO_PAYMENT_INSTRUMENTS_AVAILABLE","没用可用的支付工具"),
|
|
|
+ USER_FACE_PAYMENT_SWITCH_OFF("ACQ.USER_FACE_PAYMENT_SWITCH_OFF","用户当面付付款开关关闭"),
|
|
|
+
|
|
|
+ ;
|
|
|
+ private String code;
|
|
|
+ private String codeZn;
|
|
|
+
|
|
|
+ private BusinessFailState(String code, String codeZn) {
|
|
|
+ this.code = code;
|
|
|
+ this.codeZn = codeZn;
|
|
|
+ }
|
|
|
+
|
|
|
+ public String getCode() {
|
|
|
+ return code;
|
|
|
+ }
|
|
|
+
|
|
|
+ public String getCodeZn() {
|
|
|
+ return codeZn;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
/**
|
|
|
* 支付宝退款
|
|
|
* @param outTradeNo 外部订单号,需要退款交易的商户外部订单号
|
|
@@ -222,6 +278,7 @@ public class AliPayUtil {
|
|
|
|
|
|
// 调用tradePay方法获取当面付应答
|
|
|
AlipayF2FPayResult result = tradeService.tradePay(builder);
|
|
|
+
|
|
|
AliPayMicropayApiResult apiResult = new AliPayMicropayApiResult();
|
|
|
|
|
|
apiResult.setCode(result.getResponse().getCode());
|
|
@@ -290,21 +347,24 @@ public class AliPayUtil {
|
|
|
|
|
|
public static void main(String[] args) throws Exception{
|
|
|
//支付
|
|
|
-// AliPayRequestParams params = new AliPayRequestParams();
|
|
|
-// params.setAuthCode("283476976115347941");
|
|
|
-// params.setBody("");
|
|
|
-// params.setOutTradeNo("521521521521521");
|
|
|
-// params.setSubject("main测试");
|
|
|
-// params.setStoreId("200");
|
|
|
-// params.setTotalAmount("10");
|
|
|
-// AliPayMicropayApiResult aliPayMicropayApiResult = aliTradePay(params);
|
|
|
+ AliPayRequestParams params = new AliPayRequestParams();
|
|
|
+ params.setAuthCode("283476976115347941");
|
|
|
+ params.setBody("");
|
|
|
+ params.setOutTradeNo("521521521521521");
|
|
|
+ params.setSubject("main测试");
|
|
|
+ params.setStoreId("200");
|
|
|
+ params.setTotalAmount("10");
|
|
|
+ AliPayMicropayApiResult aliPayMicropayApiResult = aliTradePay(params);
|
|
|
// System.out.println(aliPayMicropayApiResult.getSubMsg());
|
|
|
//查询
|
|
|
// AliPayMicropayApiResult aliPayMicropayApiResult = aliTradeQuery("521521521521521", "");
|
|
|
//退款
|
|
|
- AliPayMicropayApiResult aliPayMicropayApiResult = aliTradeRefund("521521521521521", "10","正常退款","10");
|
|
|
+// AliPayMicropayApiResult aliPayMicropayApiResult = aliTradeRefund("521521521521521", "10","正常退款","10");
|
|
|
//撤销
|
|
|
// AliPayMicropayApiResult aliPayMicropayApiResult = aliTradeCancel("521521521521324", "");
|
|
|
System.out.println(aliPayMicropayApiResult.getSubMsg());
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
}
|