Open mingyun opened 7 years ago
@lokielse 麻烦指教
如果回调通知参数sitn_type
为RSA
时,需要设置商户私钥进行验证:$gateway->setPrivateKey('xxx')
@lokielse $options['sign_type'] = 'MD5';
不是RSA
,而且提示
Fatal error: Call to undefined method Omnipay\Alipay\WapExpressGateway::setPrivateKey()
setPrivateKey
是一个实例方法,不是类方法,你需要在实例上调用sign_type
需要从支付宝回调的数据中获取@lokielse 谢谢回复
看完整代码吧
$gateway = Omnipay::create('Alipay_WapExpress');//这个没问题吧?
$gateway->setPartner($partner);//变量从配置文件获取
$gateway->setKey($key);
$gateway->setSellerEmail($email);
$gateway->setPrivateKey('xxxx');
$options['request_params'] = Input::all();
$options['ca_cert_path'] = storage_path() . DIRECTORY_SEPARATOR . 'cert' . DIRECTORY_SEPARATOR . 'cacert.pem';
$options['sign_type'] = 'MD5';
$request = $gateway->completePurchase($options)->send();// 这行报错The private_key parameter is required
$debug_data = $request->getData();
if ($request->isSuccessful()) {
}
你可能用的是老版本,不排除是本库代码有问题。
建议你使用最新版的Alipay_AopWap
网关或者Alipay_LegacyWap
网关
使用说明见:
https://github.com/lokielse/omnipay-alipay/wiki/Aop-WAP-Gateway
https://github.com/lokielse/omnipay-alipay/wiki/Legacy-WAP-Gateway
谢谢,因为是 2 年前使用的1.0.1
分支的lokielse/omnipay-alipay
, 当时没有做 wap 端支付宝支付,现在不能升级使用 2.0 分支的代码,有什么办法?
用这个吧,是老版本的最后一个版本,bug相对较少。
"lokielse/omnipay-alipay": "dev-legacy"
composer.json 使用的包
"lokielse/omnipay-alipay": "1.0.1",
支付页面wap 端输入密码支付,成功然后跳转支付同步回调页面