native.php 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. ini_set('date.timezone','Asia/Shanghai');
  3. //error_reporting(E_ERROR);
  4. require_once "../lib/WxPay.Api.php";
  5. require_once "WxPay.NativePay.php";
  6. require_once 'log.php';
  7. //模式一
  8. /**
  9. * 流程:
  10. * 1、组装包含支付信息的url,生成二维码
  11. * 2、用户扫描二维码,进行支付
  12. * 3、确定支付之后,微信服务器会回调预先配置的回调地址,在【微信开放平台-微信支付-支付配置】中进行配置
  13. * 4、在接到回调通知之后,用户进行统一下单支付,并返回支付信息以完成支付(见:native_notify.php)
  14. * 5、支付完成之后,微信服务器会通知支付成功
  15. * 6、在支付成功通知中需要查单确认是否真正支付成功(见:notify.php)
  16. */
  17. $notify = new NativePay();
  18. $url1 = $notify->GetPrePayUrl("123456789");
  19. //模式二
  20. /**
  21. * 流程:
  22. * 1、调用统一下单,取得code_url,生成二维码
  23. * 2、用户扫描二维码,进行支付
  24. * 3、支付完成之后,微信服务器会通知支付成功
  25. * 4、在支付成功通知中需要查单确认是否真正支付成功(见:notify.php)
  26. */
  27. $input = new WxPayUnifiedOrder();
  28. $input->SetBody("test");
  29. $input->SetAttach("test");
  30. $input->SetOut_trade_no(WxPayConfig::MCHID.date("YmdHis"));
  31. $input->SetTotal_fee("1");
  32. $input->SetTime_start(date("YmdHis"));
  33. $input->SetTime_expire(date("YmdHis", time() + 600));
  34. $input->SetGoods_tag("test");
  35. $input->SetNotify_url("http://paysdk.weixin.qq.com/example/notify.php");
  36. $input->SetTrade_type("NATIVE");
  37. $input->SetProduct_id("123456789");
  38. $result = $notify->GetPayUrl($input);
  39. $url2 = $result["code_url"];
  40. ?>
  41. <html>
  42. <head>
  43. <meta http-equiv="content-type" content="text/html;charset=utf-8"/>
  44. <meta name="viewport" content="width=device-width, initial-scale=1" />
  45. <title>微信支付样例-退款</title>
  46. </head>
  47. <body>
  48. <div style="margin-left: 10px;color:#556B2F;font-size:30px;font-weight: bolder;">扫描支付模式一</div><br/>
  49. <img alt="模式一扫码支付" src="http://paysdk.weixin.qq.com/example/qrcode.php?data=<?php echo urlencode($url1);?>" style="width:150px;height:150px;"/>
  50. <br/><br/><br/>
  51. <div style="margin-left: 10px;color:#556B2F;font-size:30px;font-weight: bolder;">扫描支付模式二</div><br/>
  52. <img alt="模式二扫码支付" src="http://paysdk.weixin.qq.com/example/qrcode.php?data=<?php echo urlencode($url2);?>" style="width:150px;height:150px;"/>
  53. </body>
  54. </html>