alipay_wapphp的支付宝手机网关支付组件

联合创作 · 2023-09-25 08:01

目的

  • 支付宝的demo很搓

  • 项目需要接入很多支付,磋上加搓,不是特别好管理

本类库的目标

  • 完成跟支付宝手机网关支付对接的功能

  • 便于后面扩展(利用各种Handler),可测试

如何使用本类库?

1. 预先加载配置

  • 目前提供文件的方式加载配置

use HuNanZai\Component\Pay\Package\Alipay_wap\Api as AlipayApi;
use HuNanZai\Component\Pay\Package\Alipay_wap\Handler\PhpFileConfigHandler as ConfigHandler;

$config_handler = new ConfigHandler(__DIR__.'/config.php');
$alipay_api = new AlipayApi($config_handler->getConfig());

config.php

<?php
return array(
    'partner'   => 'xxxxxxxxxxxxxxxx',
    'seller_id' => 'xxxxxxxxxxxxxxxx',
    'private_key_path'  => __DIR__.'/resource/rsa_private_key.pem',
    'public_key_path'   => __DIR__.'/resource/rsa_public_key.pem',
    'cacert'            => __DIR__.'resource/cacert.pem',
);

调用对应的api即可

  • 支付

use HuNanZai\Component\Pay\Package\Alipay_wap\Handler\ArrayPayParamHandler as PayParamHandler;

$pay_param_handler  = new PayParamHandler(array(
    'out_trade_no'  => date('YmdHis),
    'subject'       => '',
    'total_fee'     => '0.01',
    //可空
    'notify_url'    => '',
    'return_url'    => '',
));
$alipay_api->pay($pay_param_handler->getParam());
  • 支付同步返回验证

...略过上面的类似步骤
$callback_param_handler   = new CallbackParamHander($_GET);
$res = $alipay_api->verifyCallback($callback_param_handler->getParam());
  • 支付异步通知验证

$notify_param_handler   = new NotifyParamHandler($_POST);
$res    = $alipay_api->verifyNotify($notify_param_handler->getParam());
  • 查询订单

$param_handler = new SearchRequestParamHandler(array(
    'trade_no'     => '',
    'out_trade_no' => '',
));
$result = $alipay_api->search($param_handler->getParam());
  • 退款

$refund_param_handler   = new RefundParamHandler(array(
    'refund_date'   => date('Y-m-d H:i:s'),
    'batch_no'      => date('YmdHis'),
    'batch_num'     => 1,
    'detail_data'   => 'xxxx^0.01^测试退款',
));

$result = $alipay_api->refund($refund_param_handler->getParam());
浏览 14
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报