示例#1
0
 /**
  * 微信支付 JSSDK chooseWXPay 方式配置文件
  */
 public static function getPaymentJssdkConfig(Unifiedorder $unifiedorder, $asArray = false)
 {
     $config = static::getPaymentConfig($unifiedorder, true);
     $bag = new Bag();
     $bag->set('timestamp', $config['timeStamp']);
     $bag->set('nonceStr', $config['nonceStr']);
     $bag->set('package', $config['package']);
     $bag->set('signType', $config['signType']);
     $bag->set('paySign', $config['paySign']);
     return $asArray ? $bag->all() : JSON::encode($bag->all());
 }
示例#2
0
$requestBag->set('trade_type', 'NATIVE');
// NATIVE 时不需要 Openid
/**
 * 统一下单
 */
$unifiedorder = new Unifiedorder($requestBag, MCHKEY);
try {
    $response = $unifiedorder->getResponse();
} catch (PaymentException $e) {
    exit($e->getMessage());
}
/**
 * 响应订单参数包
 */
$responseBag = new Bag();
$responseBag->set('appid', $request['appid']);
$responseBag->set('mch_id', $request['mch_id']);
$responseBag->set('nonce_str', $request['nonce_str']);
$responseBag->set('prepay_id', $response['prepay_id']);
$responseBag->set('return_code', 'SUCCESS');
$responseBag->set('result_code', 'SUCCESS');
$responseBag->set('return_msg', 'return message');
$responseBag->set('err_code_des', 'err code description');
$signGenerator = new SignGenerator($responseBag);
$signGenerator->onSortAfter(function ($bag) use($unifiedorder) {
    $bag->set('key', $unifiedorder->getKey());
});
$responseBag->set('sign', $signGenerator->getResult());
$responseBag->remove('key');
$xml = Util::array2XML($responseBag->all());
echo $xml;