Laravel学习-支付宝支付和微信支付

皮弘博
2023-12-01

README

  • php >= 7.3
  • composer
  • laravel || lumen >= 8.0

一. 下载支付相关的依赖包

packagist.org中搜索  yansongda/laravel-pay

地址: yansongda/laravel-pay - Packagist

使用2.3.0这个版本, 后续对这个比较熟悉再根据文档去使用最新的

composer require yansongda/laravel-pay:~2.3.0

如果内存不足可以这样写

COMPOSER_MEMORY_LIMIT=-1 composer require yansongda/laravel-pay:~2.3.0

发布依赖包的配置文件

php artisan vendor:publish --provider="Yansongda\LaravelPay\PayServiceProvider" --tag=laravel-pay

添加 alias(optional)

'Pay' => Yansongda\LaravelPay\Facades\Pay::class,

env配置

 1. alipay配置

ALT_APP_ID=
ALT_PUBLIC_KEY=
ALT_PRIVATE_KEY=

2. wechat配置

WECHAT_APP_ID=
WECHAT_MINIAPP_ID=
WECHAT_APPID=
WECHAT_MCH_ID=
WECHAT_KEY=

二. 使用方法

支付宝

use Pay;

$order = [
    'out_trade_no' => time(),
    'total_amount' => '1',
    'subject' => 'test subject - 测试',
];

return Pay::alipay()->web($order);

// 下面这个方法也可以
// return Pay::web($order);

微信

use Pay;

$order = [
    'out_trade_no' => time(),
    'body' => 'subject-测试',
    'total_fee'      => '1',
    'openid' => 'onkVf1FjWS5SBIixxxxxxxxx',
];

$result = Pay::wechat()->mp($order);

具体使用说明请传送至 https://github.com/yansongda/pay


微信支付

条件  (大概需要1个多星期)

1.服务号(企业)

2.认证费(年费: 300)

3.开通微信支付功能

步骤

1.获取openid

        获取code

        根据code换取openid

2.验证jssdk  (第一次签名)

        获取access_token

        获取ticket

        签名

        返回参数

3.获取预处理prepay_id  (第二次签名)

        获取openid

        notify_url

        签名

        获取prepay_id

4.返回微信支付参数  (第三次签名)

        获取prepay_id

        签名

        返回参数

 类似资料: