iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >PHP 实现支付宝APP 支付 (服务端 + 客户端 + 异步)
  • 321
分享到

PHP 实现支付宝APP 支付 (服务端 + 客户端 + 异步)

pythonpandasphpmysqlthinkphp 2023-09-18 19:09:32 321人浏览 安东尼
摘要

目录 一、使用实例 二、服务端 1.下载SDK 2.业务层 3.业务层返回实例 推荐使用联调工具: 4.回调层 三、客户端 总结 一、使用实例 官方信息: 二、服务端 1.下载SDK App 支付服务端 DEMO&

目录

一、使用实例

二、服务端

1.下载SDK

2.业务层

3.业务层返回实例

推荐使用联调工具:

4.回调层

三、客户端

总结


一、使用实例

官方信息:

二、服务端

1.下载SDK

App 支付服务端 DEMO&SDK | 开放平台

根据自身的需要选择SDK包

 下载之后放在了 vendor 文件下:

2.业务层

支付宝证书模式下的配置参考跳转:https://mp.csdn.net/mp_blog/creation/success/127964188

array2string(array_reverse($ssl['issuer'])) . $ssl['serialNumber']);        return $SN;    }        public function getRootCertSN($certPath)    {        $cert                        = file_get_contents($certPath);        // $this->alipayRootCertContent = $cert;        $array                       = explode("-----END CERTIFICATE-----", $cert);        $SN                          = null;        for ($i = 0; $i < count($array) - 1; $i++) {            $ssl[$i] = openssl_x509_parse($array[$i] . "-----END CERTIFICATE-----");            if (strpos($ssl[$i]['serialNumber'], '0x') === 0) {                $ssl[$i]['serialNumber'] = $this->hex2dec($ssl[$i]['serialNumberHex']);            }            if ($ssl[$i]['signatureTypeLN'] == "sha1WithRSAEncryption" || $ssl[$i]['signatureTypeLN'] == "sha256WithRSAEncryption") {                if ($SN == null) {                    $SN = md5($this->array2string(array_reverse($ssl[$i]['issuer'])) . $ssl[$i]['serialNumber']);                } else {                    $SN = $SN . "_" . md5($this->array2string(array_reverse($ssl[$i]['issuer'])) . $ssl[$i]['serialNumber']);                }            }        }        return $SN;    }        function hex2dec($hex)    {        $dec = 0;        $len = strlen($hex);        for ($i = 1; $i <= $len; $i++) {            $dec = bcadd($dec, bcmul(strval(hexdec($hex[$i - 1])), bcpow('16', strval($len - $i))));        }        return $dec;    }    protected function array2string($array)    {        $string = [];        if ($array && is_array($array)) {            foreach ($array as $key => $value) {                $string[] = $key . '=' . $value;            }        }        return implode(',', $string);    }}

3.业务层返回实例

返回的和APP支付文档上不一样哦,这里返回的是一串请求字符串,我们给前端客户端去请求支付宝

可以参考官方文档:APP 支付快速接入 | 网页&移动应用

"alipay_root_cert_sn=6***支付宝根路径证书提取的序列号&alipay_sdk=alipay-sdk-PHP-2020-04-15&app_cert_sn=证书序列号&app_id=2021*****&biz_content=%7B%22total_amount%22%3A%220.01%22%2C%22product_code%22%3A%22QUICK_MSECURITY_PAY%22%2C%22subject%22%3A%22%5Cu6d4b%5Cu8bd5%5Cu5546%5Cu54c1%22%2C%22out_trade_no%22%3A1672109672%7D&charset=utf-8&fORMat=JSON&method=alipay.trade.app.pay¬ify_url=****&sign_type=RSA2×tamp=2022-12-27+10%3A54%3A32&version=1.0&sign=sign"

推荐使用联调工具

https://opensupport.alipay.com/support/tools/cloudparse/interface?ant_source=antsupport

4.回调层

        public function appPayNotify()    {        // 打个日志看看        $sFileName  = 'alipay.txt';        $sContent   = date('Y-m-d H:i:s') . '开始回调\r\n' . '\r\n';        file_put_contents($sFileName, $sContent, FILE_APPEND);        // 回调参数根据文档上的异步回调通知看看自己需要的参数接收用 POST 接收过来就行        $notifyTime = $_POST['notify_time'];   // 回调时间        $notifyType = $_POST['notify_type'];   // 通知类型        $notifyId   = $_POST['notify_id'];     // 通知检验 ID        $appId      = $_POST['app_id'];        // 支付宝分配给开发者的应用 APPID        $authAppId  = $_POST['auth_app_id'];   // 开发者的 app_id,在服务商调用的场景下为授权方的 app_id        $tradeNo    = $_POST['trade_no'];      // 支付宝交易凭证号        $orderNo    = $_POST['out_trade_no'];  // 原支付请求的商家订单号        // 打个日志看看        $sFileName      = 'alipay.txt';        $sContent       = date("Y-m-d H:i:s") . '接收到_POST方式回调参数\r\n' . json_encode($orderNo, JSON_UNESCAPED_UNICODE) . '\r\n';        file_put_contents($sFileName, $sContent, FILE_APPEND);        // 接收到回调之后输出 success 给支付宝        echo 'success';        die;    }

三、客户端

绑定方法之后使用APP 自带的 uni.requestPayment方法来发起

// 购买执行async actionRpBuy() {if (this.num == '' || this.num == 0) {uni.showToast({title: '请选择购买数量',icon: 'none'});return false;}request({url: '/请求地址',}).then(res => {if (res.code == 1) {console.log(res.data);uni.requestPayment({      provider: 'alipay', //'alipay','wxpay'// manifest.json->APP模块配种->payment配置一下      orderInfo:res.data, // 这个参数给后端返回的请求字符串  success: res => {       uni.navigateTo({        url: '../CompletionOfPayment/CompletionOfPayment'       })      },      fail: err => {       let orderId = this.ids       uni.showModal({        // title: '提示',        title: err,        content: '支付失败',        success: function(res) {         if (res.confirm) {} else if (res.cancel) {}        }       })      }     })}})},

总结

内容尽量写的仔细一点所以文章有点长,感谢阅读

来源地址:https://blog.csdn.net/arlene12345/article/details/128478362

--结束END--

本文标题: PHP 实现支付宝APP 支付 (服务端 + 客户端 + 异步)

本文链接: https://www.lsjlt.com/news/412059.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • PHP 实现支付宝APP 支付 (服务端 + 客户端 + 异步)
    目录 一、使用实例 二、服务端 1.下载SDK 2.业务层 3.业务层返回实例 推荐使用联调工具: 4.回调层 三、客户端 总结 一、使用实例 官方信息: 二、服务端 1.下载SDK App 支付服务端 DEMO&...
    99+
    2023-09-18
    python pandas php mysql thinkphp
  • 支付宝手机网站支付,app支付,PC端支付流程以及服务端php支付下单,回调流程详解
    一.支付宝支付相关文档地址: 支付宝支付相关的文档地址:https://open.alipay.com/api 电脑网站支付:https://opendocs.alipay.com/open/270/105898ref=api 手机网...
    99+
    2023-09-02
    php 支付宝支付 支付宝app支付 支付宝Pc端支付 支付宝手机端支付 Powered by 金山文档
  • PHP实现 APP端微信支付功能
    一丶 PHP后台生成预支付交易单,返回正确的预支付交易回话标识后 调起支付,根据文档拼接微信需要的参数,这里将需要的几个方法进行示例; 传输给微信的参数要组装成xml格式发送,传如参数数组! publ...
    99+
    2023-10-18
    php 微信 android
  • 如何用php实现支付宝支付
    这篇文章主要讲解了“如何用php实现支付宝支付”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何用php实现支付宝支付”吧!用php实现支付宝支付的方法:1、扫码登录支付宝开放平台注册;2、...
    99+
    2023-06-21
  • 如何在PHP中实现支付宝支付
    随着电子商务的不断发展,各种在线支付方式也在不断涌现。支付宝作为国内普及度最高的支付方式之一,已经成为很多电商企业不可或缺的一部分。本文将介绍如何在PHP中实现支付宝支付的功能。一、注册支付宝开发平台账号在开始之前,我们需要注册一个支付宝开...
    99+
    2023-05-20
    PHP 实现 支付宝支付
  • PHP支付宝当面付异步回调如何实现验签
    众所周知,支付宝当面付的f2pay目录提供了如何获取当面付二维码的方法,但是没有异步回调的实例,所以本文章将介绍如果使用sdk达到验签的方法 支付宝官方提供的SDK入口文件为根目录的 AopSdk...
    99+
    2023-08-31
    php 开发语言 服务器
  • 快手快币h5支付实现:支付宝微信双端h5调用-易支付插件
          最近由于工作涉及到了一个小项目,需要研究到快手,斗音等段视频支付接口api,经过研究和测试终于实现了完美调用,既然实现了完美调用,索性一次性做出了成品,以彩虹易支付为框架,做出了快手快币的支付宝与威信双h5调用,自动回调,支付宝...
    99+
    2023-09-10
    php
  • Golang实现支付宝沙箱支付的方法步骤
    首先我使用的是 gin 作为我的后端框架,我们先设定好几个接口。 func main() { r := gin.Default() r.GET("/pay", too...
    99+
    2023-05-16
    Golang 支付宝沙箱支付 Golang 支付宝支付
  • PHP 单笔转账到支付宝账户,支付宝公钥证书实现版本
    支付宝某些业务只能使用公钥证书方式来验签 如:即使转账      红包等 笔者就要实现这样一个功能,【单笔转账到支付宝账户】,采用支付宝公钥证书签名来实现。 话不多说,流程先走起 第一步:下载支付宝秘钥生成器 由于我们使用的是php鱼...
    99+
    2023-09-03
    服务器 java 运维
  • PHP 实现支付宝 “(单笔转账)转账到支付宝账号”
    目录 前言 一、服务层 二、控制层 1.控制层 2.接口返回参数实例 前言 单笔转账接口 | 网页&移动应用 准备: 应用的证书(证书申请和配置可以参考我另一篇分享“支付宝 ‘应用证书配置’ ”) 配置证书后注意公共参数中 私钥值 是c...
    99+
    2023-09-01
    php mysql
  • java后端PayPal支付如何实现
    这篇文章给大家分享的是有关java后端PayPal支付如何实现的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。首先引入 PayPal的sdk 这里我引入的是1.0.4版本的<!-- 贝宝支付&nbs...
    99+
    2023-06-22
  • java后端PayPal支付实现教程
    首先引入 PayPal的sdk 这里我引入的是1.0.4版本的 <!-- 贝宝支付 SDK --> <de...
    99+
    2024-04-02
  • 支付宝客户端架构分析:自动化日志收集及分析
    小蚂蚁说:《支付宝客户端架构解析》系列将从支付宝客户端的架构设计方案入手,细分拆解客户端在“容器化框架设计”、“网络优化”、“性能启动优化”、“自动化日志收集”、“RPC 组件设计”、“移动应用监控、诊断、定位”等具体实现,带领大家进一步了...
    99+
    2023-06-05
  • 怎么用PHP实现支付宝和微信扫码在线支付的功能
    本篇内容介绍了“怎么用PHP实现支付宝和微信扫码在线支付的功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成...
    99+
    2024-04-02
  • PHP中怎么实现一个支付宝接口
    这期内容当中小编将会给大家带来有关PHP中怎么实现一个支付宝接口,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。在使用支付宝支付的时候,首先必须注册一个支付宝的账户,然后下载支付宝提供的接口文件,通过支付宝...
    99+
    2023-06-17
  • 实现支付宝APP扫码跳转小程序并传参
    目录 功能需求 实现思路 第一步,发布二维码的关联规则 发布关联规则的步骤 精确匹配和模糊匹配的区别 精确匹配 模糊匹配 添加小程序功能页 发布关联规则 第二步,读取参数 小程序应用的生命周期 获取二维码中携带的参数 我的需求实现代码片段...
    99+
    2023-09-03
    小程序 vue.js
  • 苹果支付流程以及服务端php验证
    苹果支付和常规国内的支付流程完全不一样,流程如下: 步骤如下: 1.上架产品 首先需要在苹果网站上架对应的app产品,有对应的id和价格,名称等数据 2.前端拉起商品...
    99+
    2023-09-01
    php 苹果支付 apple pay Powered by 金山文档
  • 支付宝移动端 Hybrid 解决方案探索与实践
    本文内容主要分为以下三个部分: 移动互联网背景下的高可用性能挑战主要给大家介绍支付宝 APP 在这几年移动互联网快速发展的阶段,其自身的一个变化与遇到的性能挑战。 支付宝 Hybrid 方案建设与演进 ( H5 容器 & 小程序 )...
    99+
    2023-06-05
  • 购买云服务器怎么开通支付宝账户
    首先,让我们了解一下如何开通支付宝云服务器。在购买云服务器之前,您需要选择合适的服务器提供商。通常,选择一个可靠的服务器提供商是非常重要的。选择服务器提供商时,您需要考虑以下几个因素: 服务器的硬件配置:服务器的硬件配置是指服务器的处理...
    99+
    2023-10-28
    支付宝 账户 服务器
  • Ajax客户端如何异步调用服务端
    这篇文章主要为大家展示了“Ajax客户端如何异步调用服务端”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Ajax客户端如何异步调用服务端”这篇文章吧。ajax的...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作