前言
大家都知道支付宝支付和微信支付宝都只能局限在自己的平台,微信内支付宝支付是根本就不能使用,即使是公众号支付也需要跳转到外部浏览器才可以唤起支付宝支付,并且QQ浏览器唤起支付宝支付还是问题很多,所以一般在微信生态内的应用一般都不考虑接入支付宝,但仍然有不少用户有这方面的需求,今天就给大家做个详细接入流程!
开通支付宝支付
- 开通过程省略,可查看帮助文档:http://help.crmeb.net/crmeb_zsff/1514732,
这是crmeb知识付费系统的支付宝支付,不过开通的流程都是一样的。
2. 下载支付宝支付SDK
- 下载地址: https://opendocs.alipay.com/open/54/103419
- 说明:新版SDK可用composer安装,目前使用的旧版本,是不能使用composer安装
3. 创建aliapay支付类
创建路径:crmeb/services/AlipayService.php,
把下载好的文件解压在vendor目录中目录结构为:/vendor/alipay/
4. AlipayService
采用单例设计模式,支付宝支付的SDK旧版本不能用composer加载这就很不优雅了,不能在类初始化的时候加载,而且第一次载入时非常慢。
<?php
/**
* @author: liaofei<136327134@qq.com>
* @day: 2020/8/19
*/
namespace crmeb\services;
use think\exception\ValidateException;
use think\facade\Route as Url;
use think\facade\Log;
/**
* Class AlipayService
* @package crmeb\services
*/
class AlipayService
{
/**
* @var static
*/
protected static $instance;
/**
* @var string
*/
protected $alipayAppId;
/**
* @var string
*/
protected $alipayPublicKey;
/**
* 支付宝
* @var string
*/
protected $alipayPrivateKey;
/**
* 同步回调地址
* @var string
*/
protected $returnUrl;
/**
* 异步回调地址
* @var string
*/
protected $notifyUrl;
/**
* 请求网关
* @var string
*/
protected $gatewayUrl = 'https://openapi.alipay.com/gateway.do';
/**
* 是否开启日志
* @var bool
*/
protected $isLog = false;
/**
* AlipayService constructor.
*/
protected function __construct()
{
$this->initialize();
$this->options();
}
/**
* @param $name
* @param $arguments
*/
public function __call($name, $arguments)
{
if (strstr($name, 'set') !== false) {
$name = ucwords(substr($name, 3, -1));
if (in_array($name, ['returnUrl', 'isLog', 'notifyUrl', 'alipayPrivateKey', 'alipayAppId', 'alipayPublicKey'])) {
$this->{$name} = $arguments[0];
}
} else {
throw new ValidateException('访问方法不存在');

本文详细介绍了如何在CRMEB小程序商城中集成支付宝支付,包括开通支付、设置支付配置、创建订单、退款处理、回调验签以及异步和同步回调的实现。通过支付SDK下载、创建支付类和配置参数,实现前后端分离的支付功能。
最低0.47元/天 解锁文章
1859

被折叠的 条评论
为什么被折叠?



