本文整理汇总了PHP中WxPayApi::unifiedOrder方法的典型用法代码示例。如果您正苦于以下问题:PHP WxPayApi::unifiedOrder方法的具体用法?PHP WxPayApi::unifiedOrder怎么用?PHP WxPayApi::unifiedOrder使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WxPayApi
的用法示例。
在下文中一共展示了WxPayApi::unifiedOrder方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: jsapipay
/**
* 生成支付接口内容
* @param $data
* @param bool $debug
* @return json
*/
function jsapipay($data, $debug = false)
{
// C('weixin.weixin_')
//①、获取用户openid
$tools = new JsApiPay();
// $openId = $tools->GetOpenid();
if (!empty($data['openid'])) {
$openId = $data['openid'];
} else {
echo "empty openid";
die;
}
//②、统一下单
$input = new WxPayUnifiedOrder();
$input->SetBody($data['body']);
$input->SetAttach($data['attach']);
$input->SetOut_trade_no($data['order_sn']);
$input->SetTotal_fee($data['total_fee']);
$input->SetTime_start(date("YmdHis"));
$input->SetTime_expire(date("YmdHis", time() + 600));
$input->SetGoods_tag($data['goods_tag']);
$input->SetNotify_url("http://{$_SERVER[HTTP_HOST]}/weixin/notify.html");
$input->SetTrade_type("JSAPI");
$input->SetOpenid($openId);
$order = WxPayApi::unifiedOrder($input);
if ($debug) {
echo '<font color="#f00"><b>统一下单支付单信息</b></font><br/>';
printf_info($order);
}
$jsApiParameters = $tools->GetJsApiParameters($order);
return $jsApiParameters;
}
示例2: GetPayUrl
/**
*
* 生成直接支付url,支付url有效期为2小时,模式二
* @param UnifiedOrderInput $input
*/
public function GetPayUrl($input)
{
if ($input->GetTrade_type() == "NATIVE") {
$result = WxPayApi::unifiedOrder($input);
return $result;
}
}
示例3: get_payurl
/**
* 组装包含支付信息的url(模式2)
*/
public function get_payurl()
{
require_once BASE_PATH . '/api/payment/wxpay/lib/WxPay.Api.php';
require_once BASE_PATH . '/api/payment/wxpay/WxPay.NativePay.php';
require_once BASE_PATH . '/api/payment/wxpay/log.php';
$logHandler = new CLogFileHandler(BASE_DATA_PATH . '/log/wxpay/' . date('Y-m-d') . '.log');
$Logwx = Logwx::Init($logHandler, 15);
//统一下单
$input = new WxPayUnifiedOrder();
$input->SetBody($this->_order_info['pay_sn'] . '订单');
// $input->SetBody(C('site_name').'订单');
$input->SetAttach($this->_order_info['order_type'] == 'vr_order' ? 'v' : 'r');
$input->SetOut_trade_no($this->_order_info['pay_sn']);
$input->SetTotal_fee($this->_order_info['api_pay_amount'] * 100);
$input->SetTime_start(date("YmdHis"));
$input->SetTime_expire(date("YmdHis", time() + 3600));
$input->SetGoods_tag('');
$input->SetNotify_url(SHOP_SITE_URL . '/api/payment/wxpay/notify_url.php');
$input->SetTrade_type("NATIVE");
//$input->SetOpenid($openId);
$input->SetProduct_id($this->_order_info['pay_sn']);
$result = WxPayApi::unifiedOrder($input);
// header("Content-type:text/html;charset=utf-8");
// print_R($result);exit;
Logwx::DEBUG("unifiedorder-:" . json_encode($result));
return $result["code_url"];
}
示例4: GetOrderInfo
public function GetOrderInfo($input)
{
if ($input->GetTrade_type() == "APP") {
$result = WxPayApi::unifiedOrder($input, true);
return $result;
}
}
示例5: JsApiPay
/**
* jsapi支付
* @param string $user_id 用户id
* @param int $order_id
* @param string $order_sn 订单号
* @param int $total_fee 费用
* @param string $body 商品或支付单简要描述
* @param string $goods_tag 商品标记
* @param string $attach 自定义数据
* @return array
*/
public function JsApiPay($user_id, $order_id, $order_sn, $total_fee, $body = '', $goods_tag = '', $attach = '')
{
if (empty($user_id) || empty($total_fee)) {
return ['status' => -1, 'message' => '数据错误'];
}
$tools = new JsApiPay();
$openId = UserModel::instance()->getOpenId($user_id);
if (empty($openId)) {
$openId = $tools->GetOpenid();
// return ['status'=> -2 , 'message'=>'user_id错误'];
}
$input = new \WxPayUnifiedOrder();
$input->SetBody($body);
$input->SetAttach($attach);
$input->SetOut_trade_no($order_sn);
//\WxPayConfig::MCHID.date("YmdHis")
$input->SetTotal_fee($total_fee);
$input->SetTime_start(date("YmdHis"));
$input->SetTime_expire(date("YmdHis", time() + 600));
$input->SetGoods_tag($goods_tag);
$input->SetTrade_type("JSAPI");
$input->SetOpenid($openId);
$order = \WxPayApi::unifiedOrder($input);
if ($order['return_code'] != 'SUCCESS') {
return ['status' => -10, 'message' => $order['return_msg']];
}
$jsApiParameters = $tools->GetJsApiParameters($order);
$this->addPayLog($openId, $order_id, $input);
return ['status' => 1, 'message' => $jsApiParameters];
}
示例6: unifiedorder
public function unifiedorder($openId, $product_id)
{
//得到支付金额
$order_pay_info = Model('order')->getOrderPayInfo(array('pay_sn' => $product_id));
if (empty($order_pay_info)) {
$condition = array();
$condition['order_sn'] = $product_id;
$condition['order_state'] = ORDER_STATE_NEW;
$order_info = Model('vr_order')->getOrderInfo($condition, 'sum(order_amount-rcb_amount-pd_amount) as order_amount');
$attach = 'v';
} else {
$condition = array();
$condition['pay_sn'] = $product_id;
$condition['order_state'] = ORDER_STATE_NEW;
$order_info = Model('order')->getOrderInfo($condition, array(), 'sum(order_amount-rcb_amount-pd_amount) as order_amount');
$attach = 'r';
}
//统一下单
$input = new WxPayUnifiedOrder();
$input->SetBody($product_id . '订单');
// $input->SetBody(C('site_name').'订单');
$input->SetAttach($attach);
$input->SetOut_trade_no($product_id);
$input->SetTotal_fee($order_info['order_amount'] * 100);
$input->SetTime_start(date("YmdHis"));
$input->SetTime_expire(date("YmdHis", time() + 3600));
$input->SetGoods_tag('');
$input->SetNotify_url(SHOP_SITE_URL . '/api/payment/wxpay/notify_url.php');
$input->SetTrade_type("NATIVE");
// $input->SetOpenid($openId);
$input->SetProduct_id($product_id);
$result = WxPayApi::unifiedOrder($input);
Log::DEBUG("unifiedorder:" . json_encode($result));
return $result;
}
示例7: generateQrOrder
/** 二维码订单 */
public function generateQrOrder()
{
$input = $this->unifiedOrder();
$input->SetTrade_type("NATIVE");
$input->SetProduct_id("123456789");
$order = \WxPayApi::unifiedOrder($input);
$qrUrl = $order["code_url"];
return $qrUrl;
}
示例8: wxJsPay
public function wxJsPay()
{
$list = isset($_SESSION['orderinfo']) ? $_SESSION['orderinfo'] : array();
if (!isset($_SESSION['orderinfo'])) {
header("Location:" . appurl('getMeOrder'));
die;
}
//验证是否能预定
if (isset($_SESSION['orderList'])) {
foreach ($_SESSION['orderList'] as $key => $value) {
$this->checkCanSum($value['bookid'], $value);
if (!$this->checkBook($value['bookid'])) {
$this->alert($value['title'] . '已经售卖结束');
exit;
}
}
}
//初始化日志
$logHandler = new CLogFileHandler("../logs/" . date('Y-m-d') . '.log');
$log = Log::Init($logHandler, 15);
//①、获取用户openid
$tools = new JsApiPay();
$openId = $tools->GetOpenid();
//②、统一下单
//价钱转成分
$totalFee = $list['allPrice'] * 100;
$input = new WxPayUnifiedOrder();
$input->SetBody("订单");
$input->SetAttach("订单");
$input->SetOut_trade_no($list['orderid']);
$input->SetTotal_fee($totalFee);
$input->SetTime_start(date("YmdHis"));
$input->SetTime_expire(date("YmdHis", time() + 600));
$input->SetGoods_tag("订单");
$input->SetNotify_url(appurl('callBack'));
// "http://paysdk.weixin.qq.com/example/notify.php"
$input->SetTrade_type("JSAPI");
$input->SetOpenid($openId);
$order = WxPayApi::unifiedOrder($input);
echo '<font color="#f00"><b>支付中,客官请稍后....</b></font><br/>';
// $this->printf_info($order);
$jsApiParameters = $tools->GetJsApiParameters($order);
//获取共享收货地址js函数参数
$editAddress = $tools->GetEditAddressParameters();
//③、在支持成功回调通知中处理成功之后的事宜,见 notify.php
/**
* 注意:
* 1、当你的回调地址不可访问的时候,回调通知会失败,可以通过查询订单来确认支付是否成功
* 2、jsapi支付时需要填入用户openid,WxPay.JsApiPay.php中有获取openid流程 (文档可以参考微信公众平台“网页授权接口”,
* 参考http://mp.weixin.qq.com/wiki/17/c0f37d5704f0b64713d5d2c37b468d75.html)
*/
$data = array('jsApiParameters' => $jsApiParameters, 'editAddress' => $editAddress, 'orderid' => $list['orderid'], 'pageTitle' => '支付');
unset($_SESSION['orderinfo']);
$this->layoutRender('/wxpay', $data);
}
示例9: generateQrOrder
/** 二维码订单 */
public function generateQrOrder($scheme)
{
$user = Yii::$app->session->get('user');
$input = $this->unifiedOrder($scheme['payMoney']);
$input->SetTrade_type("NATIVE");
$input->SetProduct_id("123456789");
$input->SetAttach($user['userId'] . "|" . $scheme['getBitcoin']);
//传递用户id和获取到的云豆数
$order = \WxPayApi::unifiedOrder($input);
$qrUrl = $order["code_url"];
return $qrUrl;
}
示例10: getJsApiParameters
public function getJsApiParameters($out_trade_no = '', $fee = '', $openId = '')
{
$input = new WxPayUnifiedOrder();
$input->SetBody("购买相册打印服务");
$input->SetOut_trade_no($out_trade_no);
$input->SetTotal_fee($fee);
$input->SetTime_start(date("YmdHis"));
$input->SetTime_expire(date("YmdHis", time() + 600));
$input->SetNotify_url('http://api.dayinxiangsh.com/1.0/pay/callback');
$input->SetTrade_type("JSAPI");
$input->SetOpenid($openId);
$order = WxPayApi::unifiedOrder($input);
$jsApiParameters = $this->getParameters($order);
return $jsApiParameters;
}
示例11: getPrepayId
function getPrepayId($total_amount, $order_number, $attach)
{
$input = new WxPayUnifiedOrder();
$input->SetBody("美果优鲜订单");
$input->SetAttach("缤纷水果");
$input->SetOut_trade_no($attach);
$input->SetTotal_fee($total_amount * 100);
$input->SetAttach($order_number);
$input->SetTime_start(date("YmdHis"));
$input->SetTime_expire(date("YmdHis", time() + 600));
$input->SetGoods_tag("商品标签");
$input->SetNotify_url("https://dev1.meiguoyouxian.com/magento/custom/api/util/wx.php");
$input->SetTrade_type("APP");
$order = WxPayApi::unifiedOrder($input);
return $order;
}
示例12: preOrder
public function preOrder($param)
{
$order = new WxPayUnifiedOrder();
$order->SetOut_trade_no($param['out_trade_no']);
$order->SetTotal_fee($param['total_fee'] * 100);
$order->SetTrade_type('APP');
$order->SetBody($param['body']);
$order->SetDetail($param['detail']);
$order->SetNotify_url($this->_notify_url);
$re = WxPayApi::unifiedOrder($order);
if ($re['result_code'] == 'FAIL') {
throw new Exception("微信 preorder 错误-" . $re['err_code_des'], 9001);
}
if ($re['return_code'] == 'FAIL') {
throw new Exception("微信 preorder 错误-" . $re['return_msg'], 9001);
}
return $re;
}
示例13: unifiedorder
public function unifiedorder($openId, $product_id)
{
//统一下单
$input = new WxPayUnifiedOrder();
$input->SetBody("test");
$input->SetAttach("test");
$input->SetOut_trade_no(WxPayConfig::MCHID . date("YmdHis"));
$input->SetTotal_fee("1");
$input->SetTime_start(date("YmdHis"));
$input->SetTime_expire(date("YmdHis", time() + 600));
$input->SetGoods_tag("test");
$input->SetNotify_url(Config::API_NOTIFY_URL);
$input->SetTrade_type("NATIVE");
$input->SetOpenid($openId);
$input->SetProduct_id($product_id);
$result = WxPayApi::unifiedOrder($input, Config::API_TIMEOUT);
Log::DEBUG("unifiedorder:" . json_encode($result));
return $result;
}
示例14: unifiedorder
public function unifiedorder($openId, $product_id)
{
//统一下单
$input = new WxPayUnifiedOrder();
$input->SetBody("test");
$input->SetAttach("test");
$input->SetOut_trade_no(WxPayConfig::MCHID . date("YmdHis"));
$input->SetTotal_fee("1");
$input->SetTime_start(date("YmdHis"));
$input->SetTime_expire(date("YmdHis", time() + 600));
$input->SetGoods_tag("test");
$input->SetNotify_url("http://paysdk.weixin.qq.com/example/notify.php");
$input->SetTrade_type("NATIVE");
$input->SetOpenid($openId);
$input->SetProduct_id($product_id);
$result = WxPayApi::unifiedOrder($input);
Log::DEBUG("unifiedorder:" . json_encode($result));
return $result;
}
示例15: getUnifiedOrder
/**
* 统一下单
*
* @param $amount
*
* @return string
*/
private function getUnifiedOrder($amount)
{
$tools = new \JsApiPay();
$openId = $tools->GetOpenid();
//获取用户openID
$outTradeNo = \tools\Tools::uuid();
$input = new \WxPayUnifiedOrder();
$input->SetBody($this->data['memo']);
$input->SetAttach($this->data['id']);
$input->SetOut_trade_no($outTradeNo);
$input->SetTotal_fee($this->amount);
$input->SetTime_start(date("YmdHis"));
$input->SetTime_expire(date("YmdHis", time() + 600));
$input->SetGoods_tag($this->data['memo']);
$input->SetNotify_url($this->notify_url);
$input->SetTrade_type("JSAPI");
$input->SetOpenid($openId);
$order = \WxPayApi::unifiedOrder($input);
$jsApiParameters = $tools->GetJsApiParameters($order);
//获取共享收货地址js函数参数
$editAddress = $tools->GetEditAddressParameters();
return ['jsApiParameters' => $jsApiParameters, 'editAddress' => $editAddress, 'amount' => $amount, 'orderId' => $this->data['id']];
}