- index1.html代码如下:
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>pay</title>
- </head>
- <body>
- <form>
- <p><input id="inputprice" type="text" name="inputprice" class="form-control" placeholder="请输入金额" required></p>
- <div class="radio">
- <label>
- <p><input type="radio" name="demo1" id="demo1-alipay" value="option1" checked="">
- 支付宝支付</p>
- </label>
- </div>
- <div class="radio">
- <label>
- <p><input type="radio" name="demo1" id="demo1-weixin" value="option2">
- 微信支付</p>
- </label>
- </div>
- <button type="button" id="demoBtn1">确认购买</button>
- </form>
- <form style='display:none;' id='formpay' name='formpay' method='post' action='http://www.wxticket.com'>
- <input name='goodsname' id='goodsname' type='text' value='' />
- <input name='istype' id='istype' type='text' value='' />
- <input name='key' id='key' type='text' value=''/>
- <input name='notify_url' id='notify_url' type='text' value=''/>
- <input name='orderid' id='orderid' type='text' value=''/>
- <input name='orderuid' id='orderuid' type='text' value=''/>
- <input name='price' id='price' type='text' value=''/>
- <input name='return_url' id='return_url' type='text' value=''/>
- <input name='uid' id='uid' type='text' value=''/>
- <input type='submit' id='submitdemo1'>
- </form>
- <!-- Jquery files -->
- <script type="text/javascript" src="https://cdn.staticfile.org/jquery/1.11.1/jquery.min.js"></script>
- <script type="text/javascript">
- $().ready(function(){
- function getistype(){
- return ($("#demo1-alipay").is(':checked') ? "1" : "2" );
- }
- $("#demoBtn1").click(function(){
- $.post(
- "./pay.php",
- {
- price : $("#inputprice").val(),
- istype : getistype(),
- },
- function(data){
- if (data.code > 0){
- $("#goodsname").val(data.data.goodsname);
- $("#istype").val(data.data.istype);
- $('#key').val(data.data.key);
- $('#notify_url').val(data.data.notify_url);
- $('#orderid').val(data.data.orderid);
- $('#orderuid').val(data.data.orderuid);
- $('#price').val(data.data.price);
- $('#return_url').val(data.data.return_url);
- $('#uid').val(data.data.uid);
- $('#submitdemo1').click();
- } else {
- alert(data.msg);
- }
- }, "json"
- );
- });
- });
- </script>
- </body>
- </html>
下面是pay.php接口文件:
- <?php
- /**
- * ---------------------参数生成页-------------------------------
- * Author:Leo
- * Project:www.wxticket.com
- *
- * 在您自己的服务器上生成新订单,并把计算好的订单信息传给您的前端网页。
- * 注意:
- * 1.key一定要在服务端计算,不要在网页中计算。
- * 2.token只能存放在服务端,不可以以任何形式存放在网页代码中(可逆加密也不行),也不可以通过url参数方式传入网页。
- * 3.接口跑通后,如果发现收款二维码是我们官方的,请检查APP是否正在运行。为保障您收款功能正常,如果您的收款手机APP掉线超过一分钟,就会触发代收款机制,详情请看网站帮助。
- * --------------------------------------------------------------
- */
- //从网页传入price:支付价格, istype:支付渠道:1-支付宝;2-微信支付
- $price = $_POST["price"];
- $istype = $_POST["istype"];
- $orderuid = "username"; //此处传入您网站用户的用户名,方便在paysapi后台查看是谁付的款,强烈建议加上。可忽略。
- //校验传入的表单,确保价格为正常价格(整数,1位小数,2位小数都可以),支付渠道只能是1或者2,orderuid长度不要超过33个中英文字。
- //此处就在您服务器生成新订单,并把创建的订单号传入到下面的orderid中。
- $goodsname = "请叫我商品名称,不要超过33个中英文字";
- $orderid = "1234567890"; //每次有任何参数变化,订单号就变一个吧。
- $uid = "dbcacb6f3b8d1d1d9925548c";//"此处填写PaysApi的uid";
- $token = "84b2eef7783d04c5920602b7c3b13285";//"此处填写PaysApi的Token";
- $return_url = "http://www.demo.com/payreturn.php";
- $notify_url = "http://www.demo.com/paynotify.php";
- $key = md5($goodsname. $istype . $notify_url . $orderid . $orderuid . $price . $return_url . $token . $uid);
- //经常遇到有研发问为啥key值返回错误,大多数原因:1.参数的排列顺序不对;2.上面的参数少传了,但是这里的key值又带进去计算了,导致服务端key算出来和你的不一样。
- $returndata['goodsname'] = $goodsname;
- $returndata['istype'] = $istype;
- $returndata['key'] = $key;
- $returndata['notify_url'] = $notify_url;
- $returndata['orderid'] = $orderid;
- $returndata['orderuid'] =$orderuid;
- $returndata['price'] = $price;
- $returndata['return_url'] = $return_url;
- $returndata['uid'] = $uid;
- echo jsonSuccess("OK",$returndata,"");
- //返回错误
- function jsonError($message = '',$url=null)
- {
- $return['msg'] = $message;
- $return['data'] = '';
- $return['code'] = -1;
- $return['url'] = $url;
- return json_encode($return);
- }
- //返回正确
- function jsonSuccess($message = '',$data = '',$url=null)
- {
- $return['msg'] = $message;
- $return['data'] = $data;
- $return['code'] = 1;
- $return['url'] = $url;
- return json_encode($return);
- }
- ?>
有问题加我扣Q1957777198 商讨