您的位置:

在线支付接口php版,php支付宝支付接口教程

本文目录一览:

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

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

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

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

方法/步骤

到银行开户,说明要做B2C在线支付接口,此时银行会提供给你 merID 、merAcct 这两个

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

html xmlns=;

head

meta http-equiv=Content-Type content="text/html;charset=utf-8"

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

/head

body

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

!--

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

2、接收servlet名称固定为:/servlet/ICBCINBSEBusinessServlet

3、银行地址:如果是生产则为“mybank.icbc.com.cn”,若为模拟测试环境则为“mybank.dccnet.com.cn”

--

INPUT NAME="interfaceName" TYPE="text" value="ICBC_PERBANK_B2C"

!--接口名称固定为“ICBC_PERBANK_B2C”--

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"

!--银行提供(max20),唯一确定一个商户的代码,由商户在工行开户时,由工行告知商户。--

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

!--银行提供(max19),商城收费入账账号 (只能交易时指定)。--

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

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

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

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

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

!--接收银行通知地址,目前只支持http协议80端口--

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

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

INPUT NAME="orderDate" TYPE="text" value="20050801192556"

!--14位时间戳--

INPUT NAME="merSignMsg" TYPE="text" value="SFVdS3Kca6d/wetLFwynBl1q5nDIyxxEUXCzniIa47mhxs1BM9mPsnRc2lOqqrfwBdwBjSE82jS/iBHYKolf2sppjEyOImVZycv96321QPDgPA1yleO83K1XA1rmB3zxsIuwLKIICSWwdttn1XPYOQLJ/WAtZ5DFYFog7J8pXw0="

!--商户签名数据BASE64编码--

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

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

INPUT NAME="merCert" TYPE="text" value="MIICVjCCAb+gAwIBAgIKI9fKEDP6AAAO3DANBgkqhkiG9w0BAQUFADA0MRgwFgYDVQQDEw9wYmouaWNiYy5jb20uY24xGDAWBgNVBAoTD3Biai5pY2JjLmNvbS5jbjAeFw0yMDA5MjAwOTI3NDFaFw0yMTA5MjAwOTI3NDFaMEMxGDAWBgNVBAMTD2JpYW5sdTIyLmUuMDIwMDENMAsGA1UECxMEMDIwMDEYMBYGA1UEChMPcGJqLmljYmMuY29tLmNuMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDG+u/C5pad0ZbwvAk9Gv1rr+SpknfFUsTMhJLcI2KiYa+XLSf5vCib0OclOoDDXKIWPt/hkMEz+ED8YukQpsstXHvnxVFxVtPh23dubQjB8/kJ7X5EbwngsHMLFEXqr3UvNfcGZHuAFqMRPtr8ys3YnL3UG43Xienc3cD8jXFdQQIDAQABo2AwXjBLBgNVHR8ERDBCMECgPqA8pDowODEOMAwGA1UEAxMFY3JsMTMxDDAKBgNVBAsTA2NybDEYMBYGA1UEChMPcGJqLmljYmMuY29tLmNuMA8GA1UdYwQIAwYA/wAAAAAwDQYJKoZIhvcNAQEFBQADgYEAQe6tLhKaNX8OPNT2XzH7dTXIFmTm37hSvmbEL/Q/pWV386KVrNSCnyN3fowanMt5TE9qZFn9enVvyDJw4nAUx38F2PFn2Tt7JUtzt/pNKC5FiebpFJH48AXIP1Xt5GjdcBx0oXM9QNBtYvY0189t357EH4UaBfO+c+L8fkOt37o="

!--商户证书公钥BASE64编码--

!--这里举例用的测试证书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="merHint" TYPE="text" value="跳楼甩卖!" size="60"

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

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

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

INPUT NAME="remark2" TYPE="text" value=""

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

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

/form

body

END

注意事项

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

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

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

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

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

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

PHP运行环境是5.4.18以上

开了扩展openssl

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

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

/**

* 银联支付 v0.1

* @auther:Summerdengwz7788@gmail.com;

* @date:20151202

* **/

class NetPayAction extends BaseAction{

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

public function _initialize() {

 header("Content-type:text/html;charset=utf-8");

 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-b2cPaySend = __APP__."/Index/NetPay/b2cPaySend";

 $this-b2cRefundSend = __APP__."/Index/NetPay/b2cRefundSend";

 $this-b2cQuerySend = __APP__."/Index/NetPay/b2cQuerySend";

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

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

}

public function index()

{

 $paramArray=array (

   'MerId' = '商户号',

   'MerOrderNo' = '0000001944663232',

   'OrderAmt' = '1',

   'TranDate' = '20151219',

  'TranTime' ='171248',

  'TranType' = '0001',

  'BusiType' ='0001',

  'Version' = '20140728',

  'CurryNo' = 'CNY',

  'AccessType' =; '0',

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

  'MerPageUrl' = $this-MerBgUrl,

  'MerBgUrl' =$this-MerPageUrl,

  'MerResv' = 'MerResv',

 );

 if (count($paramArray) 0) {

  $dispatchUrl = $this-b2cPaySend;

  $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);

 }

}

public function b2cPaySend(){

  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;

    $this-display();

}

public function pgReturn(){

 if ($_POST) {

   if (count($_POST)  0) {

    $secssUtil = new SecssUtil();

    $securityPropFile = $thissecurityPropFile;

    $secssUtil-init($securityPropFile);

    $text = array();

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

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

    }

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

            //支付成功

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

   } else {

    //支付失败

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

   }

  }

  }

 }

}

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

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

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

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

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

支付成功

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

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

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

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

第一步:签订合约通过第三方拿到接口(可以邮件形式发送、也可以在第三方系统下载),拿到接口后,要确认下接口类型,是否是自己需要的接口,比如B2C接口、B2B接口等类型。

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

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

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

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

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

支付宝会提供相应的接口,下载PHP版本的接口到本地,然后看DEMO,按着上面的说明做