<?php /** * 2015-12-14 微信支付企业付款类例子 * @author kangyu */ ini_set('date.timezone', 'Asia/Shanghai'); error_reporting(E_ALL | E_STRICT); ini_set("display_errors", 1); require_once "./lib/WxPay.Promotion.php"; require_once "./lib/WxPay.Promotion.Api.php"; $openid = 'o9WpmxEqZMZNtjHEoN8vuuFHb12I'; //kangyu $input = new WxPayPromotion(); $input->SetOpenid($openid); $input->SetCheck_name(); $money = 1.62; //单位:元 $input->SetAmount($money * 100); $input->SetDesc('微信支付开发测试'); $result = WxPayPromotionApi::promotionTransfers($input); var_dump($result);
/** * [微信企业支付] * @param WxPayPromotion $inputObj [微信企业支付输入对象] * @param integer $timeOut [description] * @return [type] [description] */ public static function promotionTransfers($inputObj, $timeOut = 6) { $url = "https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers"; //检测必填参数 if (!$inputObj->IsOpenidSet()) { throw new WxPayException("缺少企业付款支付接口必填参数openid!"); } else { if (!$inputObj->IsAmountSet()) { throw new WxPayException("缺少企业付款支付接口必填参数amount!"); } else { if (!$inputObj->IsDescSet()) { throw new WxPayException("缺少企业付款支付接口必填参数desc!"); } else { if (!$inputObj->IsCheck_nameSet()) { throw new WxPayException("缺少企业付款支付接口必填参数check_name!"); } } } } //关联参数 if (($inputObj->GetCheck_name() == "FORCE_CHECK" || $inputObj->GetCheck_name() == "OPTION_CHECK") && !$inputObj->IsRe_user_nameSet()) { throw new WxPayException("企业付款支付接口中,缺少必填参数re_user_name!check_name为FORCE_CHECK或OPTION_CHECK时,re_user_name为必填参数!"); } //异步通知url未设置,则使用配置文件中的url // if(!$inputObj->IsNotify_urlSet()){ // $inputObj->SetNotify_url(WxPayConfig::NOTIFY_URL);//异步通知url // } $inputObj->SetMch_appid(WxPayConfig::APPID); //公众账号ID $inputObj->SetMchid(WxPayConfig::MCHID); //商户号 $inputObj->SetSpbill_create_ip($_SERVER['REMOTE_ADDR']); //终端ip //$inputObj->SetSpbill_create_ip("1.1.1.1"); $inputObj->SetNonce_str(self::getNonceStr()); //随机字符串 // $inputObj->SetPartner_trade_no(WxPayConfig::MCHID.date("YmdHis").mt_rand(1000,9999));//生成商户订单号 $inputObj->SetPartner_trade_no(WxPayConfig::MCHID . date("YmdHis") . substr(microtime(), 2, 4)); //生成商户订单号 //签名 $inputObj->SetSign(); $xml = $inputObj->ToXml(); $response = self::postXmlCurl($xml, $url, true, $timeOut); // $result = WxPayResults::Init($response); // self::reportCostTime($url, $startTimeStamp, $result);//上报请求花费时间 $result = $inputObj->FromXml($response); return $result; }