金沙澳门官网手机版注册微信支付,流程已通

作者: 关于计算机  发布:2019-09-26

须求条件:
appid //大伙儿号后台开拓者中央获得(和邮件内的同等)   mchid//邮件内获得  key//商家后台自个儿设置  appsecret //群众号开垦者主旨获得
七个证件文件,邮件内获得 apiclient_cert.pem   apiclient_key.pem
注意事项:
民众号后台微信支付-》开拓配置-》新添测量试验目录和测验个人微时限信号。
开荒者中央-》网页授权获取客户中央消息-》修改成你的测验域名。否则会油然则生redirect_uri 参数错误
——————————后续待完善——————-
微信支付就绪页面后台自行了一遍操作:
1.获取openid
//使用jsapi接口  

Atitit 微信支付 支付结果通用文告

 代码如下

 

   $jsApi = new JsApi_pub();
 
    //=========步骤1:网页授权获取客户openid============
    //通过code获得openid
    if (!isset($_GET['code']))
    {
        //触发微信再次来到code码
        $url = $jsApi->createOauthUrlForCode(WxPayConf_pub::JS_API_CALL_URL);
        //echo $url;
        Header("Location: $url");
    }else
    {
        //获取code码,以获取openid
        $code = $_GET['code'];
        $jsApi->setCode($code);
        $openid = $jsApi->getOpenid();
    }

Wechat hto sh ma  回去页面return_url - 熊佳佳的博客 d ,only notyfi url-...

 

 

 

刚起初的时候第一步也遇到标题,没饭获得openid这几个和一部分服务器有关,demo内用的是curl获取的形式。离奇作者的服务器curl一向不可能赢得到。后来改成file_get_contents能够不奇怪获取了。可那并非消除之道。因为后边还索要利用更加多的curl操作。看到开荒文书档案里面有三个地点写证书操作必要libcurl 7.20.1之上版本,然后小编就直接在整服务器想把linux的php curl本子进步。最后边笔者是换来了别的一台windows服务器就好了。先一时这样呢,下一次亟需用的时候再调节和测量检验。
其次步:获取与开拓订单号id

接口链接

该链接是因而【合併下单API】中付出的参数notify_url设置,假诺链接无法访谈,厂家将不恐怕吸取到微信通告。

公告url必得为直接可访问的url,不可能带领参数。示例:notify_url:“

 

 

 

 代码如下

通报参数

字段名

变量名

必填

类型

示例值

描述

返回状态码

return_code

String(16)

SUCCESS

SUCCESS/FAIL

此字段是通信标识,非交易标识,交易是否成功需要查看result_code来判断

返回信息

return_msg

String(128)

签名失败

返回信息,如非空,为错误原因

签名失败

参数格式校验错误

以下字段在return_code为SUCCESS的时候有重回

字段名

变量名

必填

类型

示例值

描述

公众账号ID

appid

String(32)

wx8888888888888888

微信分配的公众账号ID(企业号corpid即为此appId)

商户号

mch_id

String(32)

1900000109

微信支付分配的商户号

设备号

device_info

String(32)

013467007045764

微信支付分配的终端设备号,

随机字符串

nonce_str

String(32)

5K8264ILTKCH16CQ2502SI8ZNMTM67VS

随机字符串,不长于32位

签名

sign

String(32)

C380BEC2BFD727A4B6845133519F3AD6

签名,详见签名算法

业务结果

result_code

String(16)

SUCCESS

SUCCESS/FAIL

错误代码

err_code

String(32)

SYSTEMERROR

错误返回的信息描述

错误代码描述

err_code_des

String(128)

系统错误

错误返回的信息描述

用户标识

openid

String(128)

wxd930ea5d5a258f4f

用户在商户appid下的唯一标识

是否关注公众账号

is_subscribe

String(1)

Y

用户是否关注公众账号,Y-关注,N-未关注,仅在公众账号类型支付有效

交易类型

trade_type

String(16)

JSAPI

JSAPI、NATIVE、APP

付款银行

bank_type

String(16)

CMC

银行类型,采用字符串类型的银行标识,银行类型见银行列表

订单金额

total_fee

Int

100

订单总金额,单位为分

应结订单金额

settlement_total_fee

Int

100

应结订单金额=订单金额-非充值代金券金额,应结订单金额<=订单金额。

货币种类

fee_type

String(8)

CNY

货币类型,符合ISO4217标准的三位字母代码,默认人民币:CNY,其他值列表详见货币类型

现金支付金额

cash_fee

Int

100

现金支付金额订单现金支付金额,详见支付金额

现金支付货币类型

cash_fee_type

String(16)

CNY

货币类型,符合ISO4217标准的三位字母代码,默认人民币:CNY,其他值列表详见货币类型

代金券金额

coupon_fee

Int

10

代金券金额<=订单金额,订单金额-代金券金额=现金支付金额,详见支付金额

代金券使用数量

coupon_count

Int

1

代金券使用数量

代金券类型

coupon_type_$n

Int

CASH

CASH--充值代金券

NO_CASH---非充值代金券

订单使用代金券时有返回(取值:CASH、NO_CASH)。$n为下标,从0开始编号,举例:coupon_type_0

代金券ID

coupon_id_$n

String(20)

10000

代金券ID,$n为下标,从0开始编号

单个代金券支付金额

coupon_fee_$n

Int

100

单个代金券支付金额,$n为下标,从0开始编号

微信支付订单号

transaction_id

String(32)

1217752501201407033233368018

微信支付订单号

商户订单号

out_trade_no

String(32)

1212321211201407033568112322

商户系统的订单号,与请求一致。

商家数据包

attach

String(128)

123456

商家数据包,原样返回

支付完成时间

time_end

String(14)

20141030133525

支付完成时间,格式为yyyyMMddHHmmss,如2009年12月25日9点10分10秒表示为20091225091010。其他详见时间规则

举例如下:

<xml>
  <appid><![CDATA[wx2421b1c4370ec43b]]></appid>
  <attach><![CDATA[开拓测验]]></attach>
  <bank_type><![CDATA[CFT]]></bank_type>
  <fee_type><![CDATA[CNY]]></fee_type>
  <is_subscribe><![CDATA[Y]]></is_subscribe>
  <mch_id><![CDATA[10000100]]></mch_id>
  <nonce_str><![CDATA[5d2b6c2a8db53831f7eda20af46e531c]]></nonce_str>
  <openid><![CDATA[oUpF8uMEb4qRXf22hE3X68TekukE]]></openid>
  <out_trade_no><![CDATA[1409811653]]></out_trade_no>
  <result_code><![CDATA[SUCCESS]]></result_code>
  <return_code><![CDATA[SUCCESS]]></return_code>
  <sign><![CDATA[B552ED6B279343CB493C5DD0D78AB241]]></sign>
  <sub_mch_id><![CDATA[10000100]]></sub_mch_id>
  <time_end><![CDATA[20140903131540]]></time_end>
  <total_fee>1</total_fee>
  <trade_type><![CDATA[JSAPI]]></trade_type>
  <transaction_id><![CDATA[1004400740201409030005092168]]></transaction_id>
</xml>

$unifiedOrder = new UnifiedOrder_pub();
    
    //var_dump($unifiedOrder);
    //设置统百分之十本接口参数
    //设置必填参数
    //appid已填,商家无需再一次填写
    //mch_id已填,商家没有须要重新填写
    //noncestr已填,商家无需再一次填写
    //spbill_create_ip已填,商家不须求重新填写
    //sign已填,厂家无需另行填写
    $unifiedOrder->setParameter("openid","$openid");//商品描述
    $unifiedOrder->setParameter("body","贡献一分钱");//商品描述
    //自定义订单号,此处仅作比喻
    $timeStamp = time();
    $out_trade_no = WxPayConf_pub::APPID."$timeStamp";
    $unifiedOrder->setParameter("out_trade_no","$out_trade_no");//商家订单号
    $unifiedOrder->setParameter("total_fee","1");//总金额
    $unifiedOrder->setParameter("notify_url",WxPayConf_pub::NOTIFY_UKoleosL);//公告地址
    $unifiedOrder->setParameter("trade_type","JSAPI");//交易类型
    //非必填参数,商家可凭借实情选填
    //$unifiedOrder->setParameter("sub_mch_id","XXXX");//子商家号 
    //$unifiedOrder->setParameter("device_info","XXXX");//设备号
    //$unifiedOrder->setParameter("attach","XXXX");//附加数据
    //$unifiedOrder->setParameter("time_start","XXXX");//交易开端时间
    //$unifiedOrder->setParameter("time_expire","XXXX");//交易停止时间
    //$unifiedOrder->setParameter("goods_tag","XXXX");//商品标识
    //$unifiedOrder->setParameter("openid","XXXX");//客户标志
    //$unifiedOrder->setParameter("product_id","XXXX");//商品ID
 
 
    $prepay_id = $unifiedOrder->getPrepayId();
    
    //echo 'prepay_id:';
    var_dump($prepay_id);

回来参数

商贩管理后联手再次来到给微信参数:

字段名

变量名

必填

类型

示例值

描述

返回状态码

return_code

String(16)

SUCCESS

SUCCESS/FAIL

SUCCESS表示商户接收通知成功并校验成功

返回信息

return_msg

String(128)

OK

返回信息,如非空,为错误原因:

签名失败

参数格式校验错误

举个例子来讲如下:

<xml>

  <return_code><![CDATA[SUCCESS]]></return_code>
  <return_msg><![CDATA[OK]]></return_msg>
</xml>

 

中国人民解放军第四野战军都以坑的微信支付V3之 微信支付回调页面 - 欢醉 - 天涯论坛.html

 

作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 Ake巴 阿尔 拉帕努伊 ) 

汉字名:艾提拉(艾龙),   EMAIL:1466519819@qq.com

转发请注解来源: 

 

Atiend

 

        
   
这一步也遭受极其多的标题。
率先微信支付测验相比辛劳,唯有在微信内才方可测量检验。作者就用手提式有线话机刷来刷去。其次使用var_dump调节和测验也不佳使额。打字与印刷一些 xml格式的文件只呈现字符长度,不显得内容。于是用log的花样写在服务器上调解,log代码:

 代码如下

// 打印log
    function  log_d($word)
    {
        $log_name="./logd.log";//log文件路线
        $fp = fopen($log_name,"a");
        flock($fp, LOCK_EX) ;
        fwrite($fp,"实行日期:".strftime("%Y-%m-%d-%H:%M:%S",time())."n".$word."nn");
        flock($fp, LOCK_UN);
        fclose($fp);
    }

在demo里面的 WxPayPubHelper.php 里面 用 $this->log_d(xxx);调用。
刚开始的时候是因为给本人的mchid和 appid不合作一贯报错。。是他俩给错作者账号了。刚发轫本人也不懂乱试。这一步的调解在 getPrepayId()内 var_dump($this->result); 就会看出错误代码。
其三步:生成支付前端 js代码就绪到网页上:

 代码如下

$jsApi->setPrepayId($prepay_id);
 
    $jsApiParameters = $jsApi->getParameters();
———————-点击前往支付————————-

这有的又遇上了难题:
android返回“System:Access_denied”,ios返回”access_control:not_allowed”
搜了广大百度。其实早已看到了那些事物一贯没注意!
倡导授权须要的页面必得是在授权目录下的页面,而不可能是存在与子目录中。不然会回到错误
开采文件我放在了/域名/pay/demo/
刚伊始的时候笔者直接是到/域名/pay/结尾认为就能够了。帮助子目录,结果是十三分的!。
—————————最终看下图—————

金沙澳门官网手机版注册 1

金沙澳门官网手机版注册 2

金沙澳门官网手机版注册 3

—————–流程中的xmljs——————–
待提交生成与开销订单id:

 代码如下

<xml>
  <openid><![CDATA[ou9dHt0L8qFLI1foP-kj5x1mDWsM]]></openid>
  <body><![CDATA[进献一下]]></body>
  <out_trade_no><![CDATA[wx88888888888888881414411779]]></out_trade_no>
  <total_fee>1</total_fee>
  <notify_url><![CDATA[;
  <trade_type><![CDATA[JSAPI]]></trade_type>
  <appid><![CDATA[wx8888888888888888]]></appid>
  <mch_id>10012345</mch_id>
  <spbill_create_ip><![CDATA[61.50.221.43]]></spbill_create_ip>
  <nonce_str><![CDATA[60uf9sh6nmppr9azveb2bn7arhy79izk]]></nonce_str>
  <sign><![CDATA[2D8A96553672D56BB2908CE4B0A23D0F]]></sign>
</xml>
交付后归来精确,个中积攒了perpay_id:
<xml>
  <return_code><![CDATA[SUCCESS]]></return_code> 
  <return_msg><![CDATA[OK]]></return_msg> 
  <appid><![CDATA[wx8888888888888888]]></appid> 
  <mch_id><![CDATA[10012345]]></mch_id> 
  <nonce_str><![CDATA[Be8YX7gjCdtCT7cr]]></nonce_str> 
  <sign><![CDATA[885B6D84635AE6C020EF753A00C8EEDB]]></sign> 
  <result_code><![CDATA[SUCCESS]]></result_code> 
  <prepay_id><![CDATA[wx201410272009395522657a690389285100]]></prepay_id> 
  <trade_type><![CDATA[JSAPI]]></trade_type>
</xml>
扭转支付用的js :
{
    "appId": "wx8888888888888888",
    "timeStamp": "1414411784",
    "nonceStr": "gbwr71b5no6q6ne18c8up1u7l7he2y75",
    "package": "prepay_id=wx201410272009395522657a690389285100",
    "signType": "MD5",
    "paySign": "9C6747193720F851EB876299D59F6C7D"
}
付出成功后赶回的通报xml:
<xml><appid><![CDATA[wx8888888888]]></appid>
<bank_type><![CDATA[CCB_DEBIT]]></bank_type>
<fee_type><![CDATA[CNY]]></fee_type>
<is_subscribe><![CDATA[Y]]></is_subscribe>
<mch_id><![CDATA[1011111]]></mch_id>
<nonce_str><![CDATA[38gt0ffgsvfsdfsdfbt1981duv63p7]]></nonce_str>
<openid><![CDATA[o4p3SjfdsfdsfdsdCE5Y2XHw4]]></openid>
<out_trade_no><![CDATA[wx4b56d1fsdfdsf416643247]]></out_trade_no>
<result_code><![CDATA[SUCCESS]]></result_code>
<return_code><![CDATA[SUCCESS]]></return_code>
<sign><![CDATA[356EfsdfdsfsdsfE69509EDA344]]></sign>
<sub_mch_id><![CDATA[10018826]]></sub_mch_id>
<time_end><![CDATA[20141122160122]]></time_end>
<total_fee>1</total_fee>
<trade_type><![CDATA[JSAPI]]></trade_type>
<transaction_id><![CDATA[100715001020fsdfsd1220006123174]]></transaction_id>
</xml>

这里面包车型地铁数额自个儿大肆了的,我们就参照下格式吧。注意分寸写敏感。

本文由金沙澳门官网送注册58发布于关于计算机,转载请注明出处:金沙澳门官网手机版注册微信支付,流程已通

关键词: