PHP code example of busyphp / trade
1. Go to this page and download the library: Download busyphp/trade library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
busyphp / trade example snippets
use BusyPHP\trade\Service;
return [
// 异步通知服务域名,如:www.harter.cn,退款功能必须设置该项
'host' => '',
// 异步通知服务是否启用ssl
'ssl' => false,
// 接收异步或同步请求的时候获取支付类型的参数键
'var_pay_type' => 'pay_type',
// 指定支付订单需要的的会员模型,必须实现 BusyPHP\trade\interfaces\TradeMemberModel 接口
'trade_member' => '',
// 支付订单号前缀
'pay_no_prefix' => 1001,
// 支付订单队列配置
'pay_queue' => [
// 是否启用
// 不启用则使用同步模式
'enable' => false,
// 支付订单有效期(秒) 设为0则不过期
// 优先管理设置中的值
'valid_duration' => 1800,
// 设置队列名称
'name' => Service::DEFAULT_PAY_QUEUE,
// 参见 config/swoole.php 中的 queue
'worker' => [
'number' => 1,
'delay' => 0,
'sleep' => 60,
'tries' => 0,
'timeout' => 60,
]
],
// 退款订单号前缀
'refund_no_prefix' => 1002,
// 退款队列配置
'refund_queue' => [
// 是否启用
'enable' => false,
// 获取需重新退款的任务延迟执行秒数
// 优先管理设置中的值
'submit_delay' => 3600,
// 获取需重新查询退款状态的任务延迟查询秒数
// 优先管理设置中的值
'query_delay' => 3600,
// 设置队列名称
'name' => Service::DEFAULT_REFUND_QUEUE,
// 参见 config/swoole.php 中的 queue
'worker' => [
'number' => 1,
'delay' => 3600,
'sleep' => 60,
'tries' => 0,
'timeout' => 60,
]
],
// 队列配置
// 参见 config/queue.php 中的 connections
'queue_connection' => [
'type' => 'database',
'queue' => 'default',
'table' => 'system_jobs',
],
// 业务订单模型绑定
'models' => [
// 订单号前缀(int) => [
// 'model' => 业务订单类 必须集成 BusyPHP\trade\interfaces\PayOrder,
// 'exclude' => [], // 排除的支付类型
// ]
],
// 支付接口绑定
'apis' => [
// 支付类型(int) => [
// 'name' => '支付类型名称',
// 'alias' => '支付厂商',
// 'client' => 支付客户端类型,
// 'create' => 支付下单接口类 必须集成 BusyPHP\trade\interfaces\PayCreate,
// 'notify' => 支付异步通知接口类 必须集成 BusyPHP\trade\interfaces\PayNotify,
// 'refund' => 支付退款接口类 必须集成 BusyPHP\trade\interfaces\PayRefund,
// 'refund_notify' => 支付退款异步通知接口类 必须集成 BusyPHP\trade\interfaces\PayRefundNotify,
// 'refund_query' => 退款查询接口类,必须集成 BusyPHP\trade\interfaces\PayRefundQuery,
// ]
]
];
shell script
php think queue:listen plugin_trade --queue plugin_trade_refund --delay 3600 --sleep 60
php think queue:work plugin_trade --queue plugin_trade_refund --delay 3600 --sleep 60
shell script
php think queue:listen plugin_trade --queue plugin_trade_pay --delay 60 --sleep 60
php think queue:work plugin_trade --queue plugin_trade_pay --delay 60 --sleep 60