支付宝支付接入小记

APP要接入支付,首先我们需要去蚂蚁金服开放平台申请一个账号,然后进行各种签约,比如开放APP支付的签约,然后进行一些密钥、回调地址等设置。这里只是做一些零星的记录,并没有打算写成多有条理的文章,毕竟真正接入支付,都还是需要去看官网开放文档的。



可以使用阿里云提供的工具生成私钥和公钥,然后将公钥上传到上图中左边框红线表示的地方。要注意的是这是你自己生成的应用公钥,跟右边框住的支付宝公钥不一样,那个是支付宝提供的公钥。我们在程序中调用蚂蚁金服服务端SDK的相关支付接口时,提供的是自己生成的私钥,然后支付宝服务端使用我们提供的应用公钥验证我们的身份,当验证没有问题时,支付宝将数据返回给我们,然后我们需要使用支付宝公钥去验证给我们返回的数据是支付宝返回的。这样看的话,其实就是我们自己的服务端和支付宝服务端各保留自己的私钥,然后将各自的公钥给对方,以便让对方接收到数据时拿公钥进行验证。因此,我们的代码中,需要使用的是自己的私钥和支付宝公钥,而支付宝私钥和我们的应用公钥,是支付宝服务端需要使用的。

应用网关和授权回调地址的解释如下图,一般情况下还用不到。


这个应用网关是口碑门店才用到的,至于什么是口碑门店可以去看他们的文档,我也理解不清楚,授权回调地址暂时用不到,也不去了解了。但我们代码中还需要一个通知回调地址,是用于我们APP唤醒支付宝客户端支付之后,支付宝服务器端主动给我们通知支付结果的。这个回调函数我们需要写代码实现,代码逻辑一般就是接收支付宝服务器端POST过来的数据,然后解析数据,获取比如订单号、交易号、交易金额等,然后去更新订单的支付状态。

商家APP、商家后台、支付宝APP、支付宝后台的调用关系,从官网文档中可以找到下面这张图:

系统交互流程如下图:

微信扫码,进入【技术人成长】社群逛逛。