wechatpay-apiv3/wechatpay-php

只是说这个sdk 微信开发sdk的人是**没人会反驳吧

Closed this issue · 5 comments

uvd commented

例子就行下面这个例子

获取平台证书需要提供平台证书序列号和平台证书 不提供就报错 问? 老子不是在获取么 你都不给获取的机会就开始报错 这不是sb是什么

// 从本地文件中加载「微信支付平台证书」,用来验证微信支付应答的签名
$platformCertificateFilePath = 'file:///path/to/wechatpay/cert.pem';
$platformPublicKeyInstance = Rsa::from($platformCertificateFilePath, Rsa::KEY_TYPE_PUBLIC);

// 从「微信支付平台证书」中获取「证书序列号」
$platformCertificateSerial = PemUtil::parseCertificateSerialNo($platformCertificateFilePath);

// 构造一个 APIv3 客户端实例
$instance = Builder::factory([
    'mchid'      => $merchantId,
    'serial'     => $merchantCertificateSerial,
    'privateKey' => $merchantPrivateKeyInstance,
    'certs'      => [
        $platformCertificateSerial => $platformPublicKeyInstance,
    ],
]);

// 发送请求
$resp = $instance->chain('v3/certificates')->get(
    ['debug' => true] // 调试模式,https://docs.guzzlephp.org/en/stable/request-options.html#debug
);
uvd commented

追更 我看到了文档里面说了 第一张证书需要手工获取 才能打破这个死循环
得不是得了脑瘫才这样想
不会把这个获取证书的方法写成例外么 不通过构造方法 或者搞成用户无感知的
脑瘫鉴定完毕

作为一个有素养的开发者,不会使用库,靠发泄情绪来表达自己的无知,我很遗憾,让你受委屈了。

这是个library,你要当application用,不会使用请提issue问,我作为作者可以无偿教你咋用。

对于你所说的「例外」,千万不要存在这种想法,有一个例外,就会有千千万万个「例外」,这是交易系统,金融,你要「例外」着用,没人拦着你,拆卸掉内置的中间件,也就是3行代码的事情,但是这种用法是有问题的,在生产环境是不能这么用,存安全隐患,仅适用于可信网络及开发环境。

uvd commented

说什么安全风险 你自己评估评估 既然这个接口提供了 怎么获取这个证书安全等级就不会在变了 这是恒定了的
你既然不觉得有问题 那么问你?go的sdk 为啥可以不像这样设计? 难道说go的sdk是风险包?

你可以用 go library,没人拦着你

说什么安全风险 你自己评估评估 既然这个接口提供了 怎么获取这个证书安全等级就不会在变了 这是恒定了的 你既然不觉得有问题 那么问你?go的sdk 为啥可以不像这样设计? 难道说go的sdk是风险包?

消消气,有问题可以提,但希望能以比较友善的方式来提出,如果能带着建设性意见来提,我们更是欢迎~