uniapp接入支付宝支付详细申请流程2021.6.1

关于接入支付宝这块的内容,网上找了一些总感觉不是已经过时了就是还存在很多问题,介绍的并不详细,所以打算自己写一下详细接入流程。仅介绍申请应用接入流程,不涉及后台sdk接口内容。

首先uniapp的支付已被封装

uni.requestPayment是一个统一各平台的客户端支付API,不管是在某家小程序还是在App中,客户端均使用本API调用支付。

所以现在前端调用支付变的很方便,uniapp会帮你调用微信支付,支付宝支付啥的,但是对APP支付比较友好,H5的话还需要自己动手

官方文档地址: https://uniapp.dcloud.io/api/plugins/payment?id=payment

 

找到支付宝支付这块,点击快速接入进入文档

支付宝文档地址:https://opendocs.alipay.com/open/204/105297/ 

1. 登录支付宝开放平台:

https://open.alipay.com/platform/home.htm

注册登录并认证一下,可以个人认证也可以企业认证。

2. 创建应用:

填写基本信息:

移动应用的话要填写ios的bundleId,和安卓端的应用签名和应用包名:

关于这些参数的创建,uniapp官方也介绍的很清楚了

Android平台云端打包证书使用说明

Android平台签名证书(.keystore)生成指南

iOS证书(.p12)和描述文件(.mobileprovision)申请

3.添加要使用的功能能力

然后会提示你要应用绑定商家中心,点击蓝字进去

填入刚创建的appId,可以在应用那块看到

绑定后有的功能是需要签约的,应用上线后才有签约按钮

签约文档

或者直接到这里签约(签约需要等上一天左右):

https://b.alipay.com/signing/productDetailV2.htm?productId=I1011000290000001002

4.配置应用环境

文档地址:https://opendocs.alipay.com/open/200/105310

到这一步,就该配置一下加密了。

这里只有第一项是必填的,后面的无所谓先不涉及

点击“设置”-》登录

弹出这个:

然后直接进入这里生成秘钥:秘钥生成器

直接点击生成秘钥,会自动生成应用私钥和应用公钥(注意这个只是应用公钥,后面sdk接口中要sign验证的时候是要支付宝公钥,不是应用公钥,支付宝公钥后面才能得到),私钥自己保存包,公钥赋值后上传到刚才让你填写的位置:

保存后你就会看到两个公钥:

注意把这两个公钥和先前那个私钥都保存好,区分好。

5.提交审核

然后等待审核上线后就可以在程序中正常使用了,亲测支付都成功。

 

ps:需注意,我在支付宝付款成功后回调函数中做验证的时候,总是失败返回false

boolean signVerified = AlipaySignature.rsaCheckV1(params, paymentUtil.getAlipayPublicKey(), AlipayConstants.ALIPAY_CHARSET, AlipayConstants.ALIPAY_SIGNTYPE);

有人说RSA2加密的话要用rsaCheckV2代替rsaCheckV1,但我改成2反而不成功了,结果是前面我的公钥填错了,把支付宝公钥写成应用公钥了(第二个参数要的是支付宝公钥)。

回调后如果都成功,要返回succes字符串,不然支付宝就会重复多次调用你的回调函数,直到你返回success为止,这点很好,可以防止用户支付后你后台问题更新订单状态失败,重复调用等你后台好了可以自动更新订单状态,很不错的。记得回调那里也做一下验证,如果返回了success他还重复调用,记得屏蔽。

 

 

 

你好!要在UniApp接入微信支付,你需要进行以下步骤: 1. 首先,确保你已经在微信公众平台上注册了开发者账号,并且通过了微信支付的相关审核。 2.UniApp项目中,可以使用uniCloud来实现微信支付。uniCloud是一个云服务平台,可以方便地进行服务器端的开发和部署。 3. 在你的UniApp项目中,打开 `manifest.json` 文件,添加 `permission` 权限配置,以获取微信支付所需的权限。例如,你可以添加以下代码: ```json "permission": { "scope.userLocation": { "desc": "你的位置信息将用于微信支付" } } ``` 4. 在 `pages.json` 文件中配置支付结果页面的路径。例如: ```json "pages": [ { "path": "pages/payResult", "style": { "navigationBarTitleText": "支付结果" } } ] ``` 5. 在你的UniApp项目中,创建一个云函数用于发起微信支付。可以使用 `wx.cloud.callFunction` 方法来调用云函数。在云函数中,使用 `wx.cloud.pay.unifiedOrder` 方法来发起支付请求。例如: ```javascript // 云函数入口文件 const cloud = require('wx-server-sdk') cloud.init() // 云函数入口函数 exports.main = async (event, context) => { const wxPay = cloud.cloudPay.getPayTunnel('wechat_pay') const res = await wxPay.unifiedOrder({ body: '商品描述', outTradeNo: '商户订单号', totalFee: '订单总金额', spbillCreateIp: '客户端IP', notifyUrl: '支付结果通知地址', tradeType: 'JSAPI', openid: '用户openid' }) return res } ``` 6.支付结果页面中,可以通过 `uni.getStorageSync` 方法获取支付结果,根据支付结果展示相应的信息。 这样,你就成功地在UniApp接入了微信支付。当用户发起支付请求时,会跳转到微信支付页面进行支付支付成功后会返回到你配置的支付结果页面。记得进行必要的订单状态更新和支付结果通知处理。希望对你有所帮助!
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

豆趣编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值