android支付宝接入支付问题ali40247

前言:继续来研究支付宝接入时候遇到的问题。

问题截图:
这里写图片描述

解决方案:
这里给大家一个详细分析的链接,可以看这里详细了解支付宝ali40247解决方案

听我说:
1.首先你需要确定的是你接入使用的是sdk1.0版本还是sdk2.0版本;
2.那么对于支付宝对于支付功能是这样定义的 在sdk1.0叫做”移动支付”、在sdk2.0叫做app支付;
3.那么移动支付和app支付的分水岭就是8月份,8月份支付宝大更新将移动支付改名为app支付;
4.了解的差不多了,那就去检查你们的支付功能(一般这个是项目经理的事情,不过像小公司,这些东西都得咱们去考虑,因为没人懂)开通是在8月之前还是8月之后,如果是8月之前(移动支付),那你只能使用旧版的sdk(sdk1.0)集成,这样ali40247问题就得以解决。
5.对于这个问题我当时咨询客服,它是这样回答的,我把平台账号丢给他,他给我的回答是“你们没有开通app支付功能”,我截图给他他说“你们开通的是移动支付”…..(我懵了)

总结:其实这个问题也就是支付宝平台更新sdk分水岭的一些过度,我们开发者可能不会过多去关注平台动态,那么以后开发中就需要去特别注意一下这种更新前后的变动。

遇到问题不要怕,像这种第三方,直接找客服,快捷方便。

end.

欢迎留言指教!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
很高兴能为您提供这篇文章,下面是springboot整合支付沙箱支付的案例。 1. 首先,您需要注册一个支付账号,并申请沙箱环境的权限。 2. 在支付开放平台申请应用,并获取应用的AppID、应用私钥和支付公钥。 3. 在pom.xml文件中添加以下依赖: ``` <dependency> <groupId>com.alipay.sdk</groupId> <artifactId>alipay-sdk-java</artifactId> <version>3.3.0.ALL</version> </dependency> ``` 4. 创建一个AliPayConfig类,用于配置支付相关参数。 ``` @Configuration public class AliPayConfig { //支付网关 private String gatewayUrl; //商户应用id private String appid; //RSA私钥 private String privateKey; //字符编码格式 private String charset; //支付公钥 private String alipayPublicKey; //签名类型 private String signType; @Value("${ali.pay.gatewayUrl}") private String aliPayGatewayUrl; @Value("${ali.pay.appid}") private String aliPayAppid; @Value("${ali.pay.privateKey}") private String aliPayPrivateKey; @Value("${ali.pay.charset}") private String aliPayCharset; @Value("${ali.pay.alipayPublicKey}") private String aliPayAlipayPublicKey; @Value("${ali.pay.signType}") private String aliPaySignType; @PostConstruct public void init() { this.gatewayUrl = aliPayGatewayUrl; this.appid = aliPayAppid; this.privateKey = aliPayPrivateKey; this.charset = aliPayCharset; this.alipayPublicKey = aliPayAlipayPublicKey; this.signType = aliPaySignType; } @Bean public AlipayClient alipayClient() { return new DefaultAlipayClient(gatewayUrl, appid, privateKey, "json", charset, alipayPublicKey, signType); } } ``` 5. 创建一个AliPayService类,用于处理支付相关业务逻辑。 ``` @Service public class AliPayService { @Autowired private AlipayClient alipayClient; @Value("${ali.pay.notifyUrl}") private String aliPayNotifyUrl; public String aliPay(String orderId, String totalAmount, String subject) { String result = ""; AlipayTradePagePayRequest alipayRequest = new AlipayTradePagePayRequest(); alipayRequest.setReturnUrl("http://localhost:8080/returnUrl"); alipayRequest.setNotifyUrl(aliPayNotifyUrl); alipayRequest.setBizContent("{\"out_trade_no\":\"" + orderId + "\"," + "\"total_amount\":\"" + totalAmount + "\"," + "\"subject\":\"" + subject + "\"," + "\"product_code\":\"FAST_INSTANT_TRADE_PAY\"}"); try { result = alipayClient.pageExecute(alipayRequest).getBody(); } catch (AlipayApiException e) { e.printStackTrace(); } return result; } public void aliPayNotify(Map<String, String> params) { boolean verifyResult = false; try { verifyResult = AlipaySignature.rsaCheckV1(params, alipayClient.getAlipayPublicKey(), "UTF-8", "RSA2"); } catch (AlipayApiException e) { e.printStackTrace(); } if (verifyResult) { String outTradeNo = params.get("out_trade_no"); String tradeNo = params.get("trade_no"); String tradeStatus = params.get("trade_status"); if ("TRADE_SUCCESS".equals(tradeStatus)) { //支付成功 } } } } ``` 6. 在controller中调用AliPayService类进行支付支付。 ``` @Controller public class AliPayController { @Autowired private AliPayService aliPayService; @RequestMapping("/aliPay") @ResponseBody public String aliPay(HttpServletRequest request, HttpServletResponse response) throws IOException { String orderId = "201908140020000001"; String totalAmount = "0.01"; String subject = "测试支付"; String result = aliPayService.aliPay(orderId, totalAmount, subject); return result; } @RequestMapping("/returnUrl") public String returnUrl(HttpServletRequest request, HttpServletResponse response) throws IOException { Map<String, String> params = new HashMap<>(); Map<String, String[]> requestParams = request.getParameterMap(); for (Iterator<String> iter = requestParams.keySet().iterator(); iter.hasNext();) { String name = iter.next(); String[] values = requestParams.get(name); String valueStr = ""; for (int i = 0; i < values.length; i++) { valueStr = (i == values.length - 1) ? valueStr + values[i] : valueStr + values[i] + ","; } params.put(name, valueStr); } aliPayService.aliPayNotify(params); return "success"; } } ``` 以上就是springboot整合支付沙箱支付的案例,希望能对您有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值