关于网上支付接口。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于网上支付接口。相关的知识,希望对你有一定的参考价值。

假如我创建一个游戏网站,采用金币的形式,用户需要充值金币才能进行游戏,那么他们需要在平台充钱,请问这个这个支付接口怎么做,怎么才能让他们把钱打到我的账户来?具体流程能告诉我吗?是不是一定要跟支付平台合作?谢谢

大部分的网站主在给网站选择支付接口时,重点考虑的是以下几个问题:
•支付成功率怎样!
•帐目是否清晰!
•支付成本是否够低!
•系统是否安全!
深层次的需求:1、支付记录能否删除,确保用户隐私。 2、能否进行委托分帐结算,相当于分批次结算到不同的帐户。3、能否降低企业成本接入一家就可以支持大部分的第三方平台。
虽然目前互联网上在线支付接口种类很多,不过常见在线支付接口就这几种:
1、支付宝支付接口集成;支付宝支付接口集成是指支付宝支付平台接口程序与你的商务网站无缝整合,从而让你的网站立即拥有在线收款的功能。根据你的网站脚本和结构加以整合,经编程到调试成功。
缺点:审核超慢,费率高,要求高。支付时必须要有支付宝帐户才可,用户必须开通网银。

2、财付通支付接口集成;财付通支付接口集成是指财付通支付平台接口程序与你的商务网站无缝整合,从而让你的网站立即拥有在线收款的功能。财付通构建全新的综合支付平台,业务覆盖B2B、B2C和C2C各领域,提供卓越的网上支付及清算服务。针对个人用户,财付通提供了包括在线充值、提现、支付、交易管理等丰富功能;针对企业用户,财付通提供了安全可靠的支付清算服务和极富特色的QQ营销资源支持。客户在你的网站上支付后,钱款自动计入你网站上该客户对应
的账户上,实时到账,方便快捷。
缺点:有起结算量,同时合同手续麻烦,支持的银行较少,支付必须客户QQ要开通财付通才可。

3、聚宝云计费支付接口集成;聚宝云计费是属于整合型支付接口,主要优势是整合现有第三方支付的优势资源,以最大限度的确保安全的前提下降低企业的各项成本帮助企业获取各大的利润空间,还同时能够提供更加个性化的服务比如智能的推荐客户经常使用的银行、网站主可以自由的删除用户隐私数据确保用户的隐私安全。

目前聚宝云计费提供:
1、支付记录能否删除,确保用户隐私
2、可以进行委托分帐结算,相当于分批次结算到不同的帐户。
3、可以降低企业开发成本与维护成本接入聚宝云计费就可以支持大部分的第三方平台与306家银行。
参考技术A 1、选择跟支付平台合作就比较简单,只需要跟一家支付公司合作,就能支持多家银行。
2、也可以自己根据银行的接口,一家家的接。一般大公司或者第三方支付公司才这么做。本回答被提问者和网友采纳
参考技术B 要充值接口肯定是要和支付公司合作的,我是汇潮支付的,有需要可以找我 参考技术C 您好!我们提供!我们支持各行的支_付_通_道接入、比例高!
欢迎前来洽谈
主管617~624~298
参考技术D 支付接口属于技术术语,包含在支付通道之内!支付通道目前主要掌握在三方手里,三方通道某种意义上也是一种聚合支付。当然你也可以去银行、支付宝、微信等官方通道申请,但是比较麻烦不是吗?
作为商户,申请通道一般有两种方式:
一种是从三方申请,通道包含微信支付宝银联等大部分,不同三方所拥有的接口并不是完全相同。三方申请相对严格,一般需要企业三证、icp、文网文等,且对资金流水有要求。
第二种从四方申请,四方属于没有支付牌照的支付服务商,三方聚合银行微信支付等,而四方聚合三方所拥有的通道,四方的审核要求和三方并无差别,因为四方不具备资料审核,资金清算资格,但相对更容易过。
第三种不走官方通道,以转账为内涵进行技术包装成微信支付宝支付。

关于微信公众号支付tips

前几日刚刚做完微信公众号JS支付,以下是在做微信支付时遇到的一些小问题,以备后用,这里使用PHP


 

一、关于在公众平台设置的参数

1、微信支付--开发配置:支付授权目录,测试授权目录,测试白名单,(扫码支付回调URL当时也设置了,可以先不设置,回来再看)

2、公众号设置--功能设置:JS接口安全域名,填写例如baidu.com的形式

3、接口权限:网页账号(网页授权获取用户基本信息),点击修改,填写回调域名,例如www.baidu.com形式。该域名需要通过ICP备案

 

二、需要的一些配置参数

1、公众号应用ID:APPID  (在“公众平台--基本配置”中查看)

2、商户号ID:MCHID    (在“公众平台--微信支付”中查看,注意一些商户号后面有“服务商”三个字代表是服务商商户号,服务商需要子商户号;无“服务商”的不需要子商户号) 

3、应用密钥:APPSECRET  (在“公众平台--基本配置”中查看)

4、支付安全密钥:KEY    (在“商户平台--API安全”中设置“API密钥”,可能需要下载安全证书)

5、下载证书         (在“商户平台--API安全”中下载API证书)

 

三、开发阶段步骤

1、下载官方demo,地址:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=11_1

2、将cert下的两个证书替换为自己的

3、将lib/WxPay.Config.php中的APPID,MCHID,KEY,APPSECRET设置为自己的

4、example/jsapi.php中的“$input->SetNotify_url(...)”改为自己的

------------------此时再修改index.php中的地址,即可进行一次0.01元测试-----------------

5、做自己测试阶段可以将“lib/Wxpay.Data.php”中的MakeSign方法在步骤二和步骤四下面进行输出,可以查看生成的签名是否正确

public function MakeSign()
	{
		//签名步骤一:按字典序排序参数
		ksort($this->values);
		$string = $this->ToUrlParams();
		//签名步骤二:在string后加入KEY
		$string = $string . "&key=".WxPayConfig::KEY;
	 print_r("string:".$string."<br />");  //输出生成的字符串
		//签名步骤三:MD5加密
		$string = md5($string);
		//签名步骤四:所有字符转为大写
		$result = strtoupper($string);
	 print_r("MakeSign:".$result);      //输出生成的签名
		return $result;
	}

 如果有问题,可以在https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=20_1中检查签名,如果签名有错误则证明字段有误,签名与自己的签名一致则可能是前面参数本身设置有问题

6、关于向jsapi.php传参的问题:

  由于微信支付本身需要在只有在微信浏览器中打开的网页才能起作用,即jsapi.php中$openId = $tools->GetOpenid();此行代码进行了一个页面跳转,造成了传来的一些例如商品描述,金额等关键信息丢失。

①jsapi.php需要在GetOpenid()之前对发来的信息进行收集,所做项目的此处代码:

1 //获取post来的数据
2 $body = $_POST[‘body‘];
3 $address = $_POST[‘address‘];
4 $total_fee = $_POST[‘total_fee‘]*100;
5 $id = $_POST[‘id‘];
6 
7 //①、获取用户openid
8 $tools = new JsApiPay();
9 $openId = $tools->GetOpenid($body,$address,$total_fee,$id);

②修改WxPay.JsApiPay.php中的GetOpenId()方法,将传递来的参数通过state参数进行传递,此处代码

 1 public function GetOpenid($body,$address,$total_fee,$id)
 2     {
 3         //通过code获得openid
 4         if (!isset($_GET[‘code‘])){
 5             //触发微信返回code码
 6             $baseUrl = urlencode(‘http://‘.$_SERVER[‘HTTP_HOST‘].$_SERVER[‘PHP_SELF‘].$_SERVER[‘QUERY_STRING‘]);
 7             $url = $this->__CreateOauthUrlForCode($baseUrl);
 8             //将用户传来的参数使用STATE参数进行传递
 9             $state = json_encode(array(
10                 "body"         => $body,
11                 "address"     => $address,
12                 "total_fee" => "$total_fee",
13                 "id"        => $id
14             ));
15             $url = str_replace("STATE", $state, $url);
16             Header("Location: $url");
17             exit();
18         }else {
19             //获取code码,以获取openid
20             $code = $_GET[‘code‘];
21             $openid = $this->getOpenidFromMp($code);
22             return $openid;
23         }
24     }

③在jsapi.php中的GetOpenId()后面对关键信息进行提取,此处代码

1 //获取传递的用户参数
2 $info = $_GET[‘state‘];
3 $info = json_decode($info);
4 
5 $body = $info ->body;
6 $address = $info ->address;
7 $total_fee = $info ->total_fee;
8 $id = $info ->id;

之后再进行统一下单即可

7、支付成功后的回调方法

在jsapi.php中的jsApiCall()方法中修改,相关代码如下

 1 function jsApiCall()
 2     {
 3         WeixinJSBridge.invoke(
 4             ‘getBrandWCPayRequest‘,
 5             <?php echo $jsApiParameters; ?>,
 6             function(res){
 7                 if (res.err_msg == "get_brand_wcpay_request:ok"){
 8                    // message: "微信支付成功!"
 9                        //微信支付成功的回调方法
10 
11                   }else if (res.err_msg == "get_brand_wcpay_request:cancel") {  
12                          // message: "已取消微信支付!"
13                         //取消支付的回调方法
14                          alert(‘您已取消支付!‘);
15                          window.history.go(-1);
16                    } 
17             }
18         );
19     }

以上。

 

以上是关于关于网上支付接口。的主要内容,如果未能解决你的问题,请参考以下文章

关于在微信支付接口和支付宝接口中使用到的辅助函数

JAVA微信支付接口开发——支付

支付宝支付接口

android应用程序如何调用支付宝接口

关于微信支付冲突的问题

thinkphp框架对接支付宝即时到账接口回调的代码