Skip to content

Commit

Permalink
feat(wechat): use app pay while gen the app need data in sdk.
Browse files Browse the repository at this point in the history
  • Loading branch information
dayu committed May 4, 2020
1 parent db7a4e0 commit 77f671b
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 2 deletions.
36 changes: 35 additions & 1 deletion src/Gateways/Wechat/AppCharge.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@

use Payment\Contracts\IGatewayRequest;
use Payment\Exceptions\GatewayException;
use Payment\Helpers\ArrayUtil;
use Payment\Helpers\StrUtil;
use Payment\Payment;

/**
Expand All @@ -36,10 +38,42 @@ class AppCharge extends WechatBaseObject implements IGatewayRequest
public function request(array $requestParams)
{
try {
return $this->requestWXApi(self::METHOD, $requestParams);
$ret = $this->requestWXApi(self::METHOD, $requestParams);
} catch (GatewayException $e) {
throw $e;
}

// 生成app端需要的数据
if (is_array($ret) && $ret['return_code'] === 'SUCCESS' && $ret['result_code'] === 'SUCCESS') {
$payData = [
'appid' => $ret['appid'],
'partnerid' => $ret['mch_id'],
'prepayid' => $ret['prepay_id'],
'package' => 'Sign=WXPay', // 微信要求固定值
'noncestr' => StrUtil::getNonceStr(self::NONCE_LEN),
'timestamp' => time(),
];

// 添加签名
$payData = ArrayUtil::paraFilter($payData);
$payData = ArrayUtil::arraySort($payData);

try {
$signStr = ArrayUtil::createLinkstring($payData);
$payData['sign'] = $this->makeSign($signStr);
} catch (\Exception $e) {
throw new GatewayException($e->getMessage(), Payment::PARAMS_ERR);
}

// 这三个字段是为了让前端的判断保持一致
$payData['return_code'] = 'SUCCESS';
$payData['return_msg'] = $ret['return_msg'];
$payData['result_code'] = 'SUCCESS';

$ret = $payData;
}

return $ret;
}

/**
Expand Down
2 changes: 1 addition & 1 deletion src/Supports/BaseObject.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
*/
abstract class BaseObject
{
const VERSION = '5.0.3';
const VERSION = '5.1.0';

/**
* @var Config
Expand Down

0 comments on commit 77f671b

Please sign in to comment.