本文整理汇总了PHP中WxPayUnifiedOrder::SetBody方法的典型用法代码示例。如果您正苦于以下问题:PHP WxPayUnifiedOrder::SetBody方法的具体用法?PHP WxPayUnifiedOrder::SetBody怎么用?PHP WxPayUnifiedOrder::SetBody使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WxPayUnifiedOrder
的用法示例。
在下文中一共展示了WxPayUnifiedOrder::SetBody方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: get_pay_url
function get_pay_url($charge_type, $pay_amount, $payment_config, $subject, $order_id, $model_id = null, $obj_id = null, $service = null, $sign_type = 'MD5', $show_url = 'index.php?do=user&view=finance&op=details')
{
global $_K, $uid, $username;
$charge_type == 'order_charge' and $t = "订单充值" or $t = "余额充值";
$body = $t . "(from:" . $username . ")";
$notify = new NativePay();
$WxPayCfg = new WxPayCfg();
$Out_trade_no = $WxPayCfg->_mchid . date("YmdHis");
$attach = "charge-{$charge_type}-{$uid}-{$obj_id}-{$order_id}-{$model_id}-" . time();
$input = new WxPayUnifiedOrder();
$input->SetBody($body);
$input->SetDetail($body);
$input->SetAttach($attach);
$input->SetOut_trade_no($Out_trade_no);
$input->SetFee_type("CNY");
$input->SetTotal_fee($pay_amount * 100);
$input->SetTime_start(date("YmdHis"));
$input->SetTime_expire(date("YmdHis", time() + 600));
$input->SetNotify_url(BASE_WXPAY_URL . "notify.php");
$input->SetTrade_type("NATIVE");
$input->SetProduct_id($obj_id);
$result = $notify->GetPayUrl($input);
$url2 = $result["code_url"];
keke_order_class::create_order_charge('online_charge', 'wxpay', null, $obj_id, $uid, $username, $pay_amount, 'wait', '用户充值', $Out_trade_no, null, $attach);
$baseUrl = urlencode($url2);
$data = array();
$data['url'] = BASE_WXPAY_URL . "qrcode.php?data=" . $baseUrl;
$data['out_trade_no'] = $Out_trade_no;
return $data;
}
示例2: 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;
}
示例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: 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];
}
示例5: qrcode
/**
* 生成微信支付二维码
*/
public static function qrcode($product_id, $body, $total_fee, $attach = '', $detail = '', $goods_tag = '')
{
// 处理金额
if (ENV_SCENE == 'dev') {
$total_fee = 0.01;
}
$total_fee *= 100;
$notify = new NativePay();
/**
* 流程:
* 1、调用统一下单,取得code_url,生成二维码
* 2、用户扫描二维码,进行支付
* 3、支付完成之后,微信服务器会通知支付成功
* 4、在支付成功通知中需要查单确认是否真正支付成功(见:notify.php)
*/
$input = new WxPayUnifiedOrder();
$input->SetBody($body);
$input->SetAttach($product_id);
if (!empty($detail)) {
$input->SetDetail($detail);
}
$input->SetOut_trade_no(WxPayConfig::$APPID . substr($product_id, 1));
$input->SetTotal_fee($total_fee);
$input->SetTime_start(date("YmdHis"));
$input->SetTime_expire(date("YmdHis", time() + 600));
if (!empty($goods_tag)) {
$input->SetGoods_tag($goods_tag);
}
$input->SetNotify_url(WxPayConfig::$NOTIFY_URL);
$input->SetTrade_type("NATIVE");
$input->SetProduct_id($product_id);
$result = $notify->GetPayUrl($input);
return $result["code_url"];
}
示例6: topup
public function topup()
{
$orderInfo = session('orderInfo');
Vendor('WxPayApi.unit.log');
Vendor('WxPayApi.lib.WxPayApi');
Vendor('WxPayApi.unit.WxPayNativePay');
//模式一
$notify = new \NativePay();
$input = new \WxPayUnifiedOrder();
$input->SetBody("会员充值");
$input->SetAttach("topup");
$input->SetOut_trade_no($orderInfo['orderNo']);
$input->SetTotal_fee("1");
$input->SetTime_start(date("YmdHis"));
$input->SetTime_expire(date("YmdHis", time() + 600));
$input->SetNotify_url("http://www.tyrolland.cn/Weixin/Pay/notify");
$input->SetTrade_type("NATIVE");
$input->SetProduct_id('TOPUP_' . $orderInfo['price']);
$result = $notify->GetPayUrl($input);
$url2 = $result["code_url"];
$userInfo = session('userInfo');
$this->assign('orderInfo', $orderInfo);
$this->assign('userInfo', $userInfo);
$this->assign('url', urlencode($url2));
$this->display();
}
示例7: 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;
}
示例8: index
public function index()
{
require_once DIR_SYSTEM . 'library/wxpay/wxpayexception.php';
define('WXPAY_APPID', trim($this->config->get('wxpay_appid')));
define('WXPAY_MCHID', trim($this->config->get('wxpay_mchid')));
define('WXPAY_KEY', trim($this->config->get('wxpay_key')));
define('WXPAY_APPSECRET', trim($this->config->get('wxpay_appsecret')));
define('WXPAY_SSLCERT_PATH', DIR_SYSTEM . 'helper/wxpay_key/apiclient_cert.pem');
define('WXPAY_SSLKEY_PATH', DIR_SYSTEM . 'helper/wxpay_key/apiclient_key.pem');
define('WXPAY_CURL_PROXY_HOST', "0.0.0.0");
define('WXPAY_CURL_PROXY_PORT', 0);
define('REPORT_LEVENL', 1);
require_once DIR_SYSTEM . 'library/wxpay/wxpayconfig.php';
require_once DIR_SYSTEM . 'library/wxpay/wxpaydata.php';
require_once DIR_SYSTEM . 'library/wxpay/wxpayapi.php';
require_once DIR_SYSTEM . 'library/wxpay/wxpaynativepay.php';
$this->load->language('extension/payment/qrcode_wxpay');
$data['button_confirm'] = $this->language->get('button_confirm');
$this->load->model('checkout/order');
$order_id = $this->session->data['order_id'];
$order_info = $this->model_checkout_order->getOrder($order_id);
$item_name = $this->config->get('config_name');
$fullname = $order_info['payment_fullname'];
$this->load->model('account/order');
$shipping_cost = 0;
$totals = $this->model_account_order->getOrderTotals($order_id);
foreach ($totals as $total) {
if ($total['title'] == 'shipping') {
$shipping_cost = $total['value'];
}
}
$notify_url = HTTPS_SERVER . 'catalog/controller/extension/payment/qrcode_wxpay_callback.php';
$out_trade_no = $this->session->data['order_id'];
$subject = $item_name . ' ' . $this->language->get('text_order') . ' ' . $order_id;
$amount = $order_info['total'];
$currency_value = $this->currency->getValue('CNY');
$price = $amount * $currency_value;
$price = number_format($price, 2, '.', '');
$total_fee = $price * 100;
//乘100去掉小数点,以传递整数给微信支付
$notify = new NativePay();
$input = new WxPayUnifiedOrder();
$input->SetBody($subject);
$input->SetAttach("mycncart");
$input->SetOut_trade_no($order_id);
$input->SetTotal_fee($total_fee);
$input->SetTime_start(date("YmdHis"));
$input->SetTime_expire(date("YmdHis", time() + 600));
$input->SetGoods_tag("mycncart");
$input->SetNotify_url(HTTPS_SERVER . "catalog/controller/extension/payment/qrcode_wxpay_callback.php");
$input->SetTrade_type("NATIVE");
$input->SetProduct_id($order_id);
$result = $notify->GetPayUrl($input);
$this->session->data['code_url'] = $result['code_url'];
$data['redirect'] = $this->url->link('checkout/qrcode_wxpay_success');
return $this->load->view('extension/payment/qrcode_wxpay', $data);
}
示例9: 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);
}
示例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: unifiedOrder
/** 统一下单 */
public function unifiedOrder()
{
$input = new \WxPayUnifiedOrder();
$input->SetBody("云豆充值");
$input->SetAttach("云豆充值");
$input->SetOut_trade_no(\WxPayConfig::MCHID . date("YmdHis"));
//totalFee是以分为单位的,正式情况下应该乘以100
$totalFee = $this->money * 100;
$input->SetTotal_fee($totalFee);
$input->SetTime_start(date("YmdHis"));
$input->SetTime_expire(date("YmdHis", time() + 600));
//$input->SetGoods_tag("test");
$input->SetNotify_url(Url::base(true) . '/notify.php');
//$input->SetNotify_url(Url::to(['/we-chat/notify'],true));
return $input;
}
示例13: pay
public function pay($title, $price)
{
$notify = new NativePay();
$input = new WxPayUnifiedOrder();
$input->SetBody($title);
$input->SetAttach($title);
$input->SetOut_trade_no(WxPayConfig::MCHID . date("YmdHis"));
$input->SetTotal_fee($price);
$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->SetProduct_id("123456789");
$result = $notify->GetPayUrl($input);
$url2 = $result["code_url"];
return $url;
}
示例14: createUnifiedOrder
public function createUnifiedOrder($out_trade_no, $subject, $total_fee, $open_id = null)
{
//②、统一下单
$input = new \WxPayUnifiedOrder();
$input->setWxPayApi($this->wxPayApi);
$input->SetBody($subject);
$input->SetOut_trade_no($out_trade_no);
// $input->SetTotal_fee($total_fee);
$input->SetTotal_fee(intval($total_fee * 100));
$input->SetTime_start(date("YmdHis"));
$input->SetTime_expire(date("YmdHis", time() + 600));
$input->SetTrade_type($this->trade_type);
if ($open_id) {
$input->SetOpenid($open_id);
}
$order = $this->wxPayApi->unifiedOrder($input);
return $order;
}
示例15: 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;
}