本文整理匯總了PHP中WxPayUnifiedOrder::setSign方法的典型用法代碼示例。如果您正苦於以下問題:PHP WxPayUnifiedOrder::setSign方法的具體用法?PHP WxPayUnifiedOrder::setSign怎麽用?PHP WxPayUnifiedOrder::setSign使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類WxPayUnifiedOrder
的用法示例。
在下文中一共展示了WxPayUnifiedOrder::setSign方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: unifiedOrder
/**
*
* 統一下單,WxPayUnifiedOrder中out_trade_no、body、total_fee、trade_type必填
* appid、mchid、spbill_create_ip、nonce_str不需要填入
* @param WxPayUnifiedOrder $inputObj
* @param int $timeOut
* @throws WxPayException
* @return 成功時返回,其他拋異常
*/
public function unifiedOrder($inputObj, $timeOut = 6)
{
$url = "https://api.mch.weixin.qq.com/pay/unifiedorder";
//檢測必填參數
if (!$inputObj->isOutTradeNoSet()) {
throw new WxPayException("缺少統一支付接口必填參數out_trade_no!");
} else {
if (!$inputObj->isBodySet()) {
throw new WxPayException("缺少統一支付接口必填參數body!");
} else {
if (!$inputObj->isTotalFeeSet()) {
throw new WxPayException("缺少統一支付接口必填參數total_fee!");
} else {
if (!$inputObj->isTradeTypeSet()) {
throw new WxPayException("缺少統一支付接口必填參數trade_type!");
}
}
}
}
//關聯參數
if ($inputObj->getTradeType() == "JSAPI" && !$inputObj->isOpenidSet()) {
throw new WxPayException("統一支付接口中,缺少必填參數openid!trade_type為JSAPI時,openid為必填參數!");
}
if ($inputObj->getTradeType() == "NATIVE" && !$inputObj->isProductIdSet()) {
throw new WxPayException("統一支付接口中,缺少必填參數product_id!trade_type為JSAPI時,product_id為必填參數!");
}
//異步通知url未設置,則使用配置文件中的url
if (!$inputObj->isNotifyUrlSet()) {
$inputObj->setNotifyUrl($this->apiConfig->notify_url);
//異步通知url
}
$inputObj->setAppid($this->apiConfig->appid);
//公眾賬號ID
$inputObj->setMchId($this->apiConfig->mchid);
//商戶號
$inputObj->setMchKey($this->apiConfig->mchkey);
//商戶密鑰
$inputObj->setSpbillCreateIp($_SERVER['REMOTE_ADDR']);
//終端ip
//$inputObj->setSpbillCreateIp("1.1.1.1");
$inputObj->setNonceStr($this->getNonceStr());
//隨機字符串
//簽名
$inputObj->setSign();
$xml = $inputObj->toXml();
$startTimeStamp = $this->getMillisecond();
//請求開始時間
$response = $this->postXmlCurl($xml, $url, false, $timeOut);
$result = WxPayResults::init($response, $this->apiConfig->mchkey);
$this->reportCostTime($url, $startTimeStamp, $result);
//上報請求花費時間
return $result;
}