微信支付SDK开启新版沙盒仿真系统测试的方案
在对接V3版微信支付的SDK时,测试的时候想用沙盒,查了一圈,微信支付老的沙盒下线了,新版的沙盒倒是有,用起来很难受。
新的PHP SDK虽然支持V2和V3的API,但不支持沙盒哈,想用沙盒了,还得配置一套URI,很费事。
看下了SDK的包,在原基础上加上了沙盒的功能,链式调用很方便。
需要的朋友自行下载使用。
文件:vendor\wechatpay\wechatpay\src\Builder.php
代码:
private $sandbox=false;
public function sandbox($sandbox=true): BuilderChainable
{
$this->sandbox=$sandbox;
return $this;
}
protected function pathname(string $seperator = '/'): string
{
$driver=$this->getDriver();
$path=implode($seperator, $this->simplized());
$version='';
if(0 === strncasecmp($driver::XML_BASED . '/', $path, 3) || 0 === strncasecmp($driver::JSON_BASED . '/', $path, 3)){
$path=explode('/', $path);
$version=array_shift($path);
$path=implode('/', $path);
}
$path=($this->sandbox ? 'xdc/apiv2sandbox/' : '').$path;
return $version.'/'.$path;
}调式示例:
$instance=WeixinBuilder::factory($config);
$res=$instance->chain('v2/pay/micropay')->sandbox($config['debug'])->post(['xml' => $params]);sandbox要在chain后使用,参数是bool类型的:
true:沙盒支付
false:真实支付





有 0 位网友评论: