1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 【网页支付】支付宝内置浏览器调用支付功能

【网页支付】支付宝内置浏览器调用支付功能

时间:2022-10-19 16:00:40

相关推荐

【网页支付】支付宝内置浏览器调用支付功能

申明: 内容中的图片都消失了。

最近有这个需求,扫描二维码后打开一个网页,在网页中选择支付方式。

如果是微信打开,就调用微信的网页支付功能。

如果是支付宝打开,就调用支付宝的网页支付功能。

这篇讲解支付宝内置浏览器支付。

创建支付宝应用

完善这个需求之前,登录支付宝的管理平台。

进入开发者重点,创建一个应用。

选择支付应用,并填写应用名称

点击创建。

这个时候,注意功能选项里面添加 手机网站支付 , 需要签约。根据支付宝需要的信息签约。

设置公钥和私钥

我们查看支付宝官方密钥生成方法,我下载的Window密钥生成工具。

打开 RSA 签名工具后,选择密钥长度2048。

然后设置到支付宝,并配置网关。

保存提交审核。

搭建Java服务器

支付宝官方文档中介绍的其实已经够详细。

我封装的核心代码: 创建AliPay.java 类。

private AlipayClient mClient;private AlipayTradeWapPayRequest mAliPayRequest;

/**

* properties 是我的配置文件帮助类。

* url : /gateway.do

* appId: 刚才创建的应用的APPID.

* 公钥和私钥以及其它必须字段

*/public AliPay() {mClient = new DefaultAlipayClient(properties.getAliURL(), properties.getAliAppID(), properties.getAliPrivateKey(),"json", "utf-8", properties.getAliPublicKey(), "RSA2");mAliPayRequest = new AlipayTradeWapPayRequest();}/*** 封装请求支付信息* @param subject商品名称* @param totalAmount商品金额* @param bodyBody* @throws AlipayApiException 生成订单异常

* @return 支付宝交易页面 Web*/public String pay(String subject, String totalAmount, String body) throws AlipayApiException {AlipayTradeWapPayModel model = new AlipayTradeWapPayModel();String outTradeNo = getOutTradeNo();// 商户网站唯一订单号model.setOutTradeNo(getOutTradeNo());// 商品名称model.setSubject(subject);// 商品金额model.setTotalAmount(totalAmount);model.setBody(body);model.setProductCode("QUICK_WAP_PAY");mAliPayRequest.setBizModel(model);mAliPayRequest.setNotifyUrl(properties.getAliNotifyUrl()); // 异步支付通知return mClient.pageExecute(mAliPayRequest).getBody();}

// 在外使用, String from = new AliPay().pay("费用", "0.01", "Your Body");

错误与原因

ISV 错误: 原因,未完成上面提到的签约操作。

欢迎大家补充。 以上

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。