支付宝手机网站支付实例代码

知识技术 2022-05-01 18:57 886
转载请务必注明: 来源:《建站管家》https://www.df81.com/news/334.html

1、安装使用Laravel扩展库yansongda/laravel-pay

yansongda/laravel-pay Github地址

通过composer进行安装

$ composer require yansongda/laravel-pay


生成配置文件

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


2、配置支付信息,填写到配置文件pay.php


运行支付宝提供的工具生成如下:


将公钥文件里面的去除-----BEGIN PUBLIC KEY-----与-----END PUBLIC KEY-----,将剩下的内容合并为一行,添加到应用公钥中

将私钥文件里面的去除-----BEGIN RSA PRIVATE KEY-----与-----END RSA PRIVATE KEY-----,将剩下的内容合并为一行,需添加到配置文件中

配置文件中填写对应内容


3、拉起支付

yansongda/laravel-pay中拉起支付,是将支付form信息直接返回到页面中,考虑到业务需求,需要通过json方式返回更方便一些?

use Yansongda\Pay\Pay;/**
 * Class SecondPay
 * @package App
 * 支付宝手机网页支付接口
 */class ZfbWapPay extends Model{

 //发送支付请求
 public function send(Request $request,$outTradeNum,$payAmount)
 {
  $config = config('pay.alipay'); //取出配置信息,根据需求动态改变
  $config['return_url'] ='https://www.df81.com/web/pay/jump/'.$outTradeNum;

  $order = [
   'out_trade_no' => $outTradeNum, //我方订单号
   'total_amount' => $payAmount, //支付金额,单位(元)
   'subject' => '支付演示',
  ];

  $alipay = Pay::alipay($config)->wap($order);
  return $alipay; //返回form表单信息
 }}


成功返回form表单信息,将信息插入到页面中完成拉起支付

$("body").append(data.form_text);


4、支付回调

use Yansongda\Pay\Pay;/**
 * Class WxwebController
 * @package App\Http\Controllers\Web
 * 支付宝h5支付回调
 */class ZfbwebController extends Controller{
 private $pay_order;  //我方订单号
 private $call_order; //第三方订单号

 public function notify(Request $request)
 {
  $pay_config = config('pay.alipay');
  $alipay = Pay::alipay($pay_config);

  $this->pay_order = $request->out_trade_no;
  $this->call_order = $request->trade_no;

  $save_back = $m_pay_back->addback($this->pay_order,json_encode($request->all())); //将支付回调信息记录到数据库中
  $check_result = $alipay->verify();
  if(!$check_result) { //回调验签失败
   return '';
  }

  return $alipay->success();
 }}

点赞 (0)

收藏 (0)

本站部分信息来源网络,如有侵权,请联系QQ:1062129401删除。

上一篇: 《建站管家》二次开发文档

下一篇: FontAwesome图标在linux服务器上显示不出来的解决方法

请先登录后,再发表评论 ~ ~
发表评论
发表评论
发表帖子
广告位招租( ¥5 / 天 )
点击咨询
相关帖子

如果要判断文件是否存在,用函数 is_file(),如果要判断目录是否存在,用函数 is_dir()
用宝塔安装TP程序后,网站前台可以访问,后台无法访问,不是程序问题,而是web服务器环境配置问题(PHP配置),出现这种问题,一般是windows主机安装宝塔造成的,linux安装宝塔不会出现此错误
广告位招租( ¥3 / 天 )
点击咨询
广告位招租( ¥2 / 天 )
点击咨询
广告位招租( ¥1 / 天 )
点击咨询
最新帖子

小朋友,你爸爸是谁啊?这很单纯的,就像我们碰到别人会问:你吃过饭了吗?类似;许多人初次相识,经常会问:你是做什么的啊?你做什么,好像决定你收入的高低,你,资产的范围
1、升级框架到ThinkPHP8.0.3【要求PHP8.1+环境,推荐PHP8.1】 2、启用/禁用调试模式等小细节改进
后台点击生成站点地图 一直转圈圈没有反应,
在线客服