$SendTransfers->set_nonce_str(walletWeixinUtil::getNonceStr()); // 随机字符串 $SendTransfers->set_partner_trade_no($mch_billno); // 商户订单号,需保持唯一性 $SendTransfers->set_openid($openid); // 用户在wxappid下的openid $SendTransfers->set_check_name('NO_CHECK'); // 是否校验真实姓名 $SendTransfers->set_re_user_name('sixian'); // 真实姓名 $SendTransfers->set_amount($amount); // 企业付款金额,单位为分 $SendTransfers->set_desc($wishing); // 企业付款操作说明信息。必填 $SendTransfers->set_spbill_create_ip(walletWeixinUtil::getRealIp()); // 调用接口的机器Ip地址 // 得到签名和其它设置的 xml 数据 $getNewData = $SendTransfers->getSendTransfersXml($SendTransfers); $data = walletWeixinUtil::curl_post_ssl($getNewData['api_url'], $getNewData['xml_data']); $res = @simplexml_load_string($data, NULL, LIBXML_NOCDATA); if (!empty($res)) { echo json_encode($res); } else { echo json_encode(array('return_code' => 'FAIL', 'return_msg' => 'transfers_接口出错', 'return_ext' => array())); } exit; break; # code... break; } echo json_encode(array('return_code' => 'FAIL', 'return_msg' => '接口出错', 'return_ext' => array()));
/** * 企业付款 xml 数据包 * @param inputObj 传入数据 * @return 带签名的完整 xml 数据 */ public function getSendTransfersXml($inputObj) { $xml = <<<eof <xml> <mch_appid>{$inputObj->get_mch_appid()}</mch_appid> <mchid>{$inputObj->get_mchid()}</mchid> <nonce_str>{$inputObj->get_nonce_str()}</nonce_str> <partner_trade_no>{$inputObj->get_partner_trade_no()}</partner_trade_no> <openid>{$inputObj->get_openid()}</openid> <check_name>{$inputObj->get_check_name()}</check_name> <re_user_name>{$inputObj->get_re_user_name()}</re_user_name> <amount>{$inputObj->get_amount()}</amount> <desc>{$inputObj->get_desc()}!</desc> <spbill_create_ip>{$inputObj->get_spbill_create_ip()}</spbill_create_ip> <sign>{sign}</sign> </xml> eof; $newXmlData = walletWeixinUtil::_getSign($xml); $data['api_url'] = 'https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers'; $data['xml_data'] = $newXmlData; return $data; }