在線支付接口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,按着上面的說明做

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/182379.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-24 06:20
下一篇 2024-11-24 06:20

相關推薦

  • MQTT使用教程

    MQTT是一種輕量級的消息傳輸協議,適用於物聯網領域中的設備與雲端、設備與設備之間的數據傳輸。本文將介紹使用MQTT實現設備與雲端數據傳輸的方法和注意事項。 一、準備工作 在使用M…

    編程 2025-04-29
  • Python3.6.5下載安裝教程

    Python是一種面向對象、解釋型計算機程序語言。它是一門動態語言,因為它不會對程序員提前聲明變量類型,而是在變量第一次賦值時自動識別該變量的類型。 Python3.6.5是Pyt…

    編程 2025-04-29
  • Deepin系統分區設置教程

    本教程將會詳細介紹Deepin系統如何進行分區設置,分享多種方式讓您了解如何規劃您的硬盤。 一、分區的基本知識 在進行Deepin系統分區設置之前,我們需要了解一些基本分區概念。 …

    編程 2025-04-29
  • 寫代碼新手教程

    本文將從語言選擇、學習方法、編碼規範以及常見問題解答等多個方面,為編程新手提供實用、簡明的教程。 一、語言選擇 作為編程新手,選擇一門編程語言是很關鍵的一步。以下是幾個有代表性的編…

    編程 2025-04-29
  • Qt雷達探測教程

    本文主要介紹如何使用Qt開發雷達探測程序,並展示一個簡單的雷達探測示例。 一、環境準備 在開始本教程之前,需要確保你的開發環境已經安裝Qt和Qt Creator。如果沒有安裝,可以…

    編程 2025-04-29
  • 猿編程python免費全套教程400集

    想要學習Python編程嗎?猿編程python免費全套教程400集是一個不錯的選擇!下面我們來詳細了解一下這個教程。 一、課程內容 猿編程python免費全套教程400集包含了從P…

    編程 2025-04-29
  • Python煙花教程

    Python煙花代碼在近年來越來越受到人們的歡迎,因為它可以讓我們在終端里玩煙花,不僅具有視覺美感,還可以通過代碼實現動畫和音效。本教程將詳細介紹Python煙花代碼的實現原理和模…

    編程 2025-04-29
  • 使用Snare服務收集日誌:完整教程

    本教程將介紹如何使用Snare服務收集Windows服務器上的日誌,並將其發送到遠程服務器進行集中管理。 一、安裝和配置Snare 1、下載Snare安裝程序並安裝。 https:…

    編程 2025-04-29
  • Java 監控接口返回信息報錯信息怎麼處理

    本文將從多個方面對 Java 監控接口返回信息報錯信息的處理方法進行詳細的闡述,其中包括如何捕獲異常、如何使用日誌輸出錯誤信息、以及如何通過異常處理機制解決報錯問題等等。以下是詳細…

    編程 2025-04-29
  • Java微信支付寶分賬指南

    本文將詳細介紹如何使用Java代碼實現微信和支付寶分賬功能,以及實現自定義分賬規則和查詢分賬結果。 一、微信支付分賬 微信支付分賬是指商戶將訂單的資金分給多個分賬接收方。常用於分潤…

    編程 2025-04-28

發表回復

登錄後才能評論