TP5 实现微信支付和支付宝支付

1、微信支付

1.1、安装依赖包
  • 我这里使用 EasyWeChat 实现微信支付,另外我附上之前我封装的微信类。
  • 详细操作里面写的比较清楚,请先看这个:https://www.jianshu.com/p/d376d921bf16
1.2、准备工作

(1)需要去微信开放平台注册账号

  • appid(微信开放平台上的应用id)
  • mch_id(微信申请成功之后邮件中的商户id)
  • notify_url(支付成功后的回调地址)
  • api_key(在微信商户平台上自己设定的api密钥 32位)
  • apiclient_cert.pem 和 apiclient_key.pem 证书

相关的申请流程可以参考网站: https://developers.weixin.qq.com/doc/oplatform/Mobile_App/WeChat_Pay/Vendor_Service_Center.html

(2)将对应的配置写入配置文件中(配置文件可以参考我下面封装的微信类)

(3)创建订单表

  • 关于订单表,这里给你们参考下我的
1.3、调用微信支付
$app = (new WeChatService())->connect(2);
$result = $app->order->unify([
    'body' => $subject,
    'out_trade_no' => $orderNumber,
    'total_fee' => $amount * 100, // **单位:分**
    'spbill_create_ip' => '', // 可选,如不传该参数,SDK 将会自动获取相应 IP 地址
    'notify_url' => Env::get('web.host') . '/api/vip/wechatNotify', // 支付结果通知网址,如果不设置则会使用配置里的默认地址
    'trade_type' => 'JSAPI', // 请对应换成你的支付方式对应的值类型
    'openid' => $user['openid'], //从用户额外表中取到openId
]);
$res = json_decode($result, 1)['return_msg'];
if ($res == 'OK') $this->success(MSG_OK,$result); //支付成功
$this->error('支付失败'); //支付失败
  • 后端 只需要在调用微信支付地方调用这段方法即可。
  • H5 支付,公众号支付,扫码支付,支付中签约,全部都是用这个接口下单。
  • 前端 微信支付参考文档 https://pay.weixin.qq.com/wiki/doc/api/index.html。
  • 我们要根据前端需要的参数进行返回。
1.
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 PHP TP5 框架中实现微信支付功能,你需要完成以下几个步骤: 1. 注册微信商户平台账号,并在商户平台中创建应用,获取到商户ID和商户密钥。 2. 安装并配置 PHP SDK,可以使用官方提供的 SDK 或者选择第三方 SDK。 3. 编写支付接口,接收前端传来的订单信息,将订单信息传递给微信支付接口,生成预支付订单,并返回预支付订单信息给前端。 4. 前端根据预支付订单信息调起微信支付页面,用户完成支付后,微信将会回调你的支付回调接口。 5. 在支付回调接口中,验证微信回调的签名,防止恶意攻击,确认订单支付状态,更新订单状态等操作。 下面是一个简单的示例代码,仅供参考: ```php // 引入微信支付 SDK use EasyWeChat\Factory; // 创建支付对象 $config = [ 'app_id' => 'your-app-id', 'mch_id' => 'your-mch-id', 'key' => 'your-key', 'cert_path' => 'path/to/your/cert.pem', 'key_path' => 'path/to/your/key.pem', ]; $payment = Factory::payment($config); // 发起支付请求 $result = $payment->order->unify([ 'body' => 'test', 'out_trade_no' => 'your-order-id', 'total_fee' => 100, 'spbill_create_ip' => '127.0.0.1', 'notify_url' => 'your-notify-url', 'trade_type' => 'JSAPI', 'openid' => 'your-user-openid' ]); // 将预支付订单信息返回给前端 return $result; // 支付回调接口 $payment->notify(function ($notify, $successful) { // 验证签名 if (!$successful) { return 'fail'; } // 更新订单状态等操作 return 'success'; }); ``` 注意,以上代码仅为示例代码,具体实现需要根据你的业务需求进行调整。同时,为了确保支付安全,请务必仔细阅读微信支付开发文档,并遵循开发规范。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值