Login
网站首页 > 文章中心 > 其它

在线支付接口php版

作者:小编 更新时间:2023-08-16 17:39:32 浏览量:370人看过

PHP 工商银行B2C支付接口怎么做

merID:银行提供.唯一确定一个商户的代码,由商户在工行开户时,由工行告知商户.

merAcct:银行提供 , 商城收费入账账号 (只能交易时指定).

懂得html代码跟PHP的程序员一名

方法/步骤

由程序员按照一下步骤来做即可,在商城提交表单的页面添加以下控件.

html xmlns=;

head

title百度一下,你就知道 /title

/head

body

FORM name="order" METHOD=POST ACTION=""

!--

订单只能使用POST方式提交;使用https协议通讯;

--

INPUT NAME="interfaceVersion" TYPE="text" value="1.0.0.0"

!--接口版本目前为"1.0.0.0"--

INPUT NAME="orderid" TYPE="text" value="000000001"

!--订单号商户端产生,一天内不能重复.--

INPUT NAME="amount" TYPE="text" value="100"

!--金额以分为单位--

INPUT NAME="curType" TYPE="text" value="001"

!--币种目前只支持人民币,代码为"001"--

INPUT NAME="merID" TYPE="text" value="XXXXXXXXXX"

INPUT NAME="merAcct" TYPE="text" value="XXXXXXXXXX"

INPUT NAME="verifyJoinFlag" TYPE="text" value="0"

!--"1"判断该客户是否与商户联名;取值"0"不检验客户是否与商户联名.--

INPUT NAME="notifyType" TYPE="text" value="HS"

!--HS方式实时发送通知;AG方式不发送通知;--

INPUT NAME="merURL" TYPE="text" value=""

INPUT NAME="resultType" TYPE="text" value="0"

!--对于HS方式"0":发送成功或者失败信息;"1",只发送交易成功信息.--

!--签名数据串,这里举例用的测试私钥user.key(顺序固定;被商户签名的串为各输入项的值):

接口名称的值◆接口版本号的值◆商城代码的值◆商城账号的值◆通知地址的值◆结果发送类型的值◆订单号的值◆订单金额的值◆支付币种的值◆通知类型的值◆交易日期时间的值◆校验联名标志的值--

!--这里举例用的测试证书user.crt--

INPUT NAME="goodsID" TYPE="text" value="abcd001"

!--商品编号,自商城获得--

INPUT NAME="goodsName" TYPE="text" value="小毡帽"

!--商品名称,自商城获得--

INPUT NAME="goodsNum" TYPE="text" value="1"

!--商品数量,自商城获得--

INPUT NAME="carriageAmt" TYPE="text" value="100"

!--已含运费金额,金额以分为单位,自商城获得--

!--商城提示,以上五个字段用于客户支付页面显示--

INPUT NAME="remark1" TYPE="text" value=" "

!--备注字段 MAX(100)--

INPUT TYPE="submit" value=" 提 交 订 单 "

/form

END

注意事项

注意商户提交订单数据不能提交接口中没有定义的字段

提交按钮不能设置name属性,如果设置了,提交按钮的值将作为一个变量提交,可能造成数据检查错误

经验内容仅供参考,如果您需解决具

亲,php银联在线支付,没做过,请求帮助

支付接口现在有第三方的支付接口也有银行的支付接口.这里就来介绍php版本银联支付接口开发的方法.

银联支付,首先要注意二重要的部分:

开了扩展openssl

开发手册上面的列子只做参考,因为基本都是错的.你可以试着去官网下一个demo...注意现在银联开发,没有测试密钥提供,只能在正式环境开发

下面是我用ThinkPHP编写的一个支付类

/**

*?银联支付?v0.1

*?**/

class?NetPayAction?extends?BaseAction{

//在类初始化方法中,引入相关类库

public?function?_initialize()?{

vendor('Netpay.util.common',"",".php");?//导入加密核心文件夹

vendor('Netpay.util.SecssUtil',"",".class.php");?//导入加密核心文件夹

vendor('Netpay.util.Settings_INI',"",".php");?//导入加密核心文件夹

vendor('Netpay.util.Settings',"",".php");?//导入加密核心文件夹

$this-securityPropFile=?$_SERVER['DOCUMENT_ROOT']?.?"/ThinkPHP/Extend/Vendor/Netpay/config/security.properties";?//谁知道这是啥,反正他们要我加的

$this-;MerBgUrl?=?__APP__."/Index/NetPay/MerBgUrl";

$this-MerPageUrl?=?__APP__."/Index/NetPay/MerPageUrl";

}

public?function?index()

{

$paramArray=array?(

'MerId'?=?'商户号',

'OrderAmt'?=?'1',

'TranType'?=?'0001',

'BusiType'?='0001',

'CurryNo'?=?'CNY',

'AccessType'?=;?'0',

'CommodityMsg'?=?'测试商品1号',

'MerPageUrl'?=?$this-MerBgUrl,

'MerBgUrl'?=$this-MerPageUrl,

'MerResv'?=?'MerResv',

);

if?(count($paramArray)?0)?{

$transResvedJson?=?array();

$cardInfoJson?=?array();

$sendMap?=?array();

foreach?($paramArray?as?$key?=?$value)?{

if?(isEmpty($value))?{

continue;

if?(startWith($key,?"trans_"))?{

$key?=?substr($key,?strlen("trans_"));

$transResvedJson[$key]?=?$value;

}?else

if?(startWith($key,?"card_"))?{

$key?=?substr($key,?strlen("card_"));

$cardInfoJson[$key]?=?$value;

}?else?{

$sendMap[$key]?=?$value;

$transResvedStr?=?null;

$cardResvedStr?=?null;

if?(count($transResvedJson)?0)?{

$transResvedStr?=?json_encode($transResvedJson);

if?(count($cardInfoJson)?0)?{

$cardResvedStr?=?json_encode($cardInfoJson);

$secssUtil?=?new?SecssUtil();

if?(!?isEmpty($transResvedStr))?{

$transResvedStr?=?$secssUtil-decryptData($transResvedStr);

$sendMap["TranReserved"]?=?$transResvedStr;

if?(!?isEmpty($cardResvedStr))?{

$cardResvedStr?=?$secssUtil-decryptData($cardResvedStr);

$sendMap["card_"]?=?$cardResvedStr;

$securityPropFile?=?$thissecurityPropFile;

$secssUtil-init($securityPropFile);

$secssUtil-sign($sendMap);

$sendMap["Signature"]?=?$secssUtil-getSign();

$_SESSION?=?$sendMap;

header("Location:"?.?$dispatchUrl);

layout(false);

$settings?=?new?Settings_INI();

$settings-oad($this-securityPropFile);

$pay_url?=?"";

$html?=?"form?name='payment'?action='{$pay_url}'?method='POST'?target='_blank';";

$params?=?"TranReserved;MerId;MerOrderNo;OrderAmt;CurryNo;TranDate;SplitMethod;BusiType;MerPageUrl;MerBgUrl;SplitType;MerSplitMsg;PayTimeOut;MerResv;Version;BankInstNo;CommodityMsg;Signature;AccessType;AcqCode;OrderExpiryTime;TranType;RemoteAddr;Referred;TranTime;TimeStamp;CardTranData";

foreach?($_SESSION?as?$k?=$v)?{

if?(strstr($params,?$k))?{

$html?.=?"input?type='hidden'?name?=?'"?.?$k?.?"'?value?='"?.?$v?.?"'/";

$html?.=?"nput?type='button'?type='hidden'?value='提交订单'?";

$html?.=?";/from";

$this-html?=?$html;

public?function?pgReturn(){

if?($_POST)?{

if?(count($_POST)?0)?{

$text?=?array();

foreach($_POST?as?$key=$value){

$text[$key]?=?urldecode($value);

if?($secssUtil-verify($text))?{

//支付成功

$_SESSION["VERIFY_KEY"]?=?"success";

//支付失败

$_SESSION["VERIFY_KEY"]?=?"fail";

银联支付应该是算比较简单的!!

中国银联在线支付接口php开发怎么做

对方应该有sdk和demo提供的,支付接口的流程都差不多,包括支付宝,网银,财付通,paypal等流程都一样.

用户下单,收集购物车内产品的总价

拼装支付参数URL跳转进入支付网关进行支付(这里会用到支付网关提供的SDK)

支付成功

支付网关服务器会异步发送支付成功的通知到你的"通知URL",你对过来的参数进行有效性验证,确保是从支付网关发来的,进行业务逻辑处理,比如设置订单完成标识等操作;

注意这不是"返回URL",这一步操作前台支付用户不会看到.

网关一般在完成支付后,会自动返回我们的网站,进入网站后提示用户完成支付,并跳转到相应页面即可.

如何利用PHP语言开发平台第三方支付接口

第二步:支付接口分很多语言版本,比如ASP、JSP、PHP、.NET语言版本,所以要选择与自己网站语言匹配的接口进行安装.商城网站的技术一般比较清楚商城的开发语言.

第三步:拿到的支付接口一般包括接口文档和接口代码示例,选择合适的接口代码示例,进行联调,比如自己网站是PHP开发的,就选择PHP代码示例联调.

第四步:接口联调的时候,需要第三方支付提供联调测试账号,方可以联调.联调除了需要联调账号除外,还需要该账号的支付密钥,联调过程中,有什么问题,可以直接找第三方支付技术支持给予协调处理.

第五步:接口联调通过后,可先换成生产环境账号,进行交易测试,测试没问题后,可以放到商城网站进行交易.

用PHP连接支付宝或网银的在线支付怎么做

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章