예제 #1
0
        $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()));
예제 #2
0
    /**
     * 企业付款 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;
    }