## [示例]发起支付请求
```php
/**
* [示例]发起支付请求
* @param integer $orderNo 订单号
* @param string $method 支付方式code
*/
public function paySubmit($orderNo, $method)
{
$param = [];
$param['amount'] = 0.01 * 100;// 支付金额(分)
$param['order_no'] = $orderNo;// 订单号
$param['uid'] = 1000001;// 用户标识
$param['body'] = '支付测试';// 支付标题
$param['goback'] = url('test');// 同步回调后的跳转地址
$param['openid'] = '';
$param['sign'] = md5(http_build_query($param).config('hs_auth.key'));
return url('/plugin/pay'.($method? ('/'.$method.'/submit') : ''), $param);
}
```
## [示例]发起退款请求
```php
/**
* [示例]发起退款请求
* @param integer $orderNo 订单号
* @param string $method 原支付方式code
*/
public function refundSubmit($orderNo, $method)
{
$param = [];
$param['amount'] = 0.01 * 100;// 退款金额(分)
$param['order_no'] = $orderNo;
$param['subject'] = '订单退款('.$orderNo.')';
$param['return'] = url('orders/index');
$param['sign'] = md5(http_build_query($param).config('hs_auth.key'));
return '/plugin/pay/'.$method.'/refund?'.http_build_query($param);
}
```
## [示例]支付回调
```php
/**
* [示例]支付回调
* @param int $orderNo 订单号
* @param array $params 所有回传参数
* @param array $paylog 支付日志
* @return array
*/
public function payCallback($orderNo, array $params, array $paylog)
{
// 这里写你的订单逻辑处理代码
// 返回错误信息
return ['status' => false, 'message' => '这是错误原因'];
// 返回成功
return ['status' => true];
}
```
## [示例]退款回调
```php
/**
* [示例]退款回调
* @param int $orderNo 订单号
* @param array $params 所有回传参数
* @param array $paylog 支付日志
* @return array
*/
public function refundCallback($orderNo, array $params, array $paylog)
// 这里写你的订单逻辑处理代码
// 返回错误信息
return ['status' => false, 'message' => '这是错误原因'];
// 返回成功
return ['status' => true];
}
```
## [示例]微信小程序支付请求
```php
/**
* [示例]微信小程序支付请求
*
* @param integer $orderNo 订单号
* @param float $amount 金额
* @param integer $uid 会员ID
* @param string $subject 订单标题
* @return bool|array
*/
public function wechatMini($orderNo, $amount, int $uid, string $subject = '')
{
$param = [];
$param['amount'] = $amount * 100;
$param['order_no'] = $orderNo;
$param['uid'] = $uid;
$param['subject'] = $subject;
$param['method'] = 'wechat_mini';
// 如果你没有使用第三方登录插件,请自行传入openid
$param['openid'] = $this->dbPluginLoginOauth->where('platform', 'wechatmini')->where('uid', $uid)->value('openid');
$resp = $this->pluginPayLogicPayment->submit($method, $param);
if ($resp === false) {
$this->error = $this->pluginPayLogicPayment->getError();
return false;
}
return $resp['json_data'];
}
```