thinkphp实现支付宝支付,扫码支付

thinkphp实现支付宝支付,扫码支付-hpc小站
thinkphp实现支付宝支付,扫码支付
此内容为付费资源,请付费后查看
C币39.9
立即购买

注:免登陆购买系统缓存时间为30天,请尽快获取资源以免失效,失效后需重新购买获取!

付费资源

支付宝扫码支付,手机浏览器跳转支付宝

预览

图片[1]-thinkphp实现支付宝支付扫码支付页面html+css+js

电脑端

手机浏览器

在线预览

点击进入

实现

一、首先需要到支付宝开放平台注册一下

点击进入支付宝开发平台

二、创建网页/移动应用

  • 需要一点时间等待审核
  • 进入刚才创建的应用,点击开发设置
  • 接口加签方式点击查看,下载支付宝支付宝开发平台工具
  • 上传应用公钥,下载支付宝公钥
  • 接口内容加密方式:AES
  • 设置服务器IP白名单
  • 设置应用网关(服务器接收异步响应信息)

三、下载支付宝SDK

  • alipay-easysdk
  • 我这边使用thinkphp6所以下载PHP的,通过composer下载:composer require alipaysdk/easysdk:^2.0
  • 具体支付宝的流程可以查看[官方文档]
  • 我在实现支付的过程中最头疼的问题是就收不到异步通知

根据文档无法收到通知的原因有以下:

  • 异步通知发送地址错误。
  • notify_url 参数位置设置错误。
  • 异步地址设置错误。
  • 异步地址必须外网可访问。
  • 异步地址必须能 post 接收数据。
  • 接口默认不触发相关的交易状态数据通知。

可以通过云排查进行查询

更多步骤可网上自行查询,开通支付宝扫码支付根据文档不同产品可能需要营业执照才能使用,具体查看

配置网关

public function getOptions()
    {
        $options = new Config();
        $options->protocol = 'https';
        $options->gatewayHost = 'openapi.alipay.com';
        $options->signType = 'RSA2';

        $options->appId = '';

        // 为避免应用私钥随源码泄露,推荐从文件中读取私钥字符串而不是写入源码中
        $options->merchantPrivateKey = '';

        // $options->alipayCertPath = '<-- 请填写您的支付宝公钥证书文件路径,例如:/foo/alipayCertPublicKey_RSA2.crt -->';
        // $options->alipayRootCertPath = '<-- 请填写您的支付宝根证书文件路径,例如:/foo/alipayRootCert.crt" -->';
        // $options->merchantCertPath = '<-- 请填写您的应用公钥证书文件路径,例如:/foo/appCertPublicKey_2019051064521003.crt -->';

        //注:如果采用非证书模式,则无需赋值上面的三个证书路径,改为赋值如下的支付宝公钥字符串即可
        $options->alipayPublicKey = '';

        //可设置异步通知接收服务地址(可选)
        $options->notifyUrl = "你的域名/home/pay/notify_url";

        return $options;
    }
© 版权声明
THE END
喜欢就支持一下吧
点赞8谢谢打赏 分享