国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

PHP接入支付寶 即時到帳接口

stormgens / 537人閱讀

摘要:如果還不知道如何簽約,請查看支付寶即時到帳簽約教程完成簽約后,需要把項目導入自己的項目中安裝方法,請參考項目簡介。跳轉支付寶通過上一步返回的是請求支付寶的。本次支付寶的即時到帳接口到這里就完成了調用。

payment 項目2.0版本

特別聲明:

以下文檔均針對 payment 2.0 以上版本,并且PHP需要5.5以上(含)。
代碼中所有編碼均使用 utf-8 。

通過幾天的時間,終于把payment 2.0的基本結構搭好了。今天剛完成支付寶 即時到帳 接口的開發。趕緊把使用文檔給補上。請大家一定仔細查看文檔,實在還不行就來問我吧!(我期待你問我,反正我收錢的,哈哈)

即時到帳 接口簽約

在你使用這個接口時,請先確認你是否在支付寶商戶中心簽約了該接口。

在商戶中心,看到 即時到帳(已添加),說明你已簽約該接口,可正常使用。如果還不知道如何簽約,請 查看支付寶即時到帳簽約教程

OK!完成簽約后,

需要把 payment項目導入自己的項目中 安裝方法,請參考Payment項目簡介。

調用示例

在項目的 examples 文件夾中,我已提供完整的示例。為了便于大家理解,這里對代碼再進行說明。

支付寶的配置文件

在1.x版本中,配置文件被固定寫在了sdk中,這種做法太流氓了。為了不繼續流氓下去,在2.x版本中,將配置信息獨立出來,讓大家可以根據自己的實際情況自定義,靈活程度大大增加。

調用時,僅需要提供給我如下的一個數組,至于配置信息寫在哪里,完全由你自己決定。

我在示例中,是將配置信息寫在 examples/aliconfig.php 中,然后使用 require_once 包含進來。你完全可以寫cache中、db中。

return [
    "partner"   => "2088xxxxxxxxxxx",
    "md5_key"   => "xxxxxxxxxxxxxxxxxx",
    "rsa_private_key"   => "./rsa_private_key.pem",
    "notify_url"    => "http://test.helei.com/pay-notify.html",
    "return_url"    => "http://test.helei.com/return-url.html",
    "time_expire"    => "14",
];

參數介紹

參數 參數名 參數說明 是否必須
partner 合作者身份ID 簽約的支付寶賬號對應的支付寶唯一用戶號。以2088開頭的16位純數字組成。 必須
md5_key MD5密鑰 點擊這里 必須
rsa_private_key RSA私鑰 點擊這里 必須
notify_url 服務器異步通知URI 支付寶服務器主動通知商戶網站里指定的頁面http路徑。(建議使用https) 可選
return_url 頁面跳轉同步通知頁面路徑 支付寶處理完請求后,當前頁面自動跳轉到商戶網站里指定頁面的http路徑。 可選
time_expire 超時時間 設置未付款交易的超時時間,一旦超時,該筆交易就會自動被關閉。單位默認為分鐘 可選

特別說明:

如果上述配置文件必須的key的值為空,會拋出 PayException 異常

如果 notify_url 為空,雖然可支付成功,但是客戶端將無法收到支付寶的回調結果。

建議采用https協議

調用支付

項目中的示例代碼,參見 examples/charge.php

//  生成訂單號 便于測試
function createPayid()
{
    return date("Ymdhis", time())
            .substr(floor(microtime()*1000),0,1)
            .rand(0,9);
}

// 訂單信息
$orderData = [
    "orderTradeNo"    => createPayid(),
    "totalFee"    => "1",
    "clientIp"    => "127.0.0.1",
    "subject"    => "我是即時到帳",
    "body"    => "支付測試即時到帳接口",
    "extraCommonParam"    => "",
];

$aliconfig = require_once __DIR__ . "/aliconfig.php";


// 實例化支付環境類,進行支付創建
$charge = new ChargeContext();

try {
    $charge->initCharge(Config::ALI_CHANNEL_WEB, $aliconfig);
    $url = $charge->charge($payData);
} catch (PayException $e) {
    echo $e->errorMessage();exit;
}

// 請求alipay
header("Location:{$url}");

以上代碼就完成了即時到帳的全部調用,下面分步驟來說明下代碼含義:

訂單信息

此部分的key部分,必須采用以下值,否則SDK無法識別。

// createPayid(); 函數是為了演示方便,隨手寫的一個生成訂單號的函數

$orderData = [
    "order_no"    => createPayid(),
    "amount"    => "1",// 單位為元
    "client_ip"    => "127.0.0.1",
    "subject"    => "測試支付",
    "body"    => "支付接口測試",
    "extra_param"    => "",
];

參數說明

參數 參數名 參數說明 是否必須
order_no 訂單號 平臺根據規則生成的訂單號,最長64位,要在商戶數據庫中唯一 必須
amount 交易總金額 該筆訂單的資金總額,單位為RMB-Yuan。取值范圍為[0.01,100000000.00],精確到小數點后兩位。 必須
client_ip 客戶端IP 用戶在創建交易時,該用戶當前所使用機器的IP。 必須
subject 商品名稱 商品的標題/交易標題/訂單標題/訂單關鍵字等。該參數最長為128個漢字。 必須
body 商品描述 對一筆交易的具體描述信息。如果是多種商品,請將商品描述字符串累加傳給body。 必須
extra_param 公用回傳參數 如果用戶請求時傳遞了該參數,則返回給商戶時會回傳該參數。 可選

簽名數據

以下是真正實現數據簽名的地方,返回的數據可直接用于發起支付寶支付。大家可以對比下支付寶自身信息,是不是已經大大簡化了?
當然簡化帶來的另外一個意思就是:放棄了很多我們正常情況下用不到的功能,比如:花唄分期

// 實例化支付環境類,進行支付創建
$charge = new ChargeContext();

try {
    $charge->initCharge(Config::ALI_CHANNEL_WEB, $aliconfig);
    $url = $charge->charge($payData);
} catch (PayException $e) {
    echo $e->errorMessage();exit;
}

這里對于調用者,僅僅需要知道 ChargeContext 這一個類,這里使用了 策略模式 + 簡單工廠模式 兩種方法來進行調用的簡化。這種方式也非常方便后期進行擴展,對于客戶端與復雜的邏輯進行了隔離。

跳轉支付寶

通過上一步返回的是請求支付寶的url。由于在頁面上可能需要通過js調用支付寶或者還有其他邏輯,因為我并沒有直接重定向到支付寶,而把控制權交到了客戶端手中。

以下代碼,示例的是簡單的利用返回的url,重定向到支付寶,完成支付。

header("Location:{$url}");

本次支付寶的即時到帳接口到這里就完成了調用。下一節把回調通知部分完成,這樣一個基本的支付流程就完成了。

技術支持

如果需要協助集成到項目,可付費獲得我的服務!

微信:helei543345

郵箱: dayugog@gmail.com

支持我:

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/21014.html

相關文章

  • PHP接入支付手機網站支付、移動支付接口

    摘要:目前常量的含義及時到賬接口,主要用于網站支付手機網站支付接口,主要用于手機瀏覽器移動支付接口,主要用于原生調用方式非常統一,傳入的參數也被最大程度的統一化。 payment 項目2.0版本 前面已經說完了 PHP接入支付寶 即時到帳接口 回調接口也已經完成。這篇主要講 手機網站支付 、 移動支付 接口的調用。調用方式與即時到帳 基本一樣。 關于代碼部分的詳細解釋,請 參看 PHP接入...

    xzavier 評論0 收藏0
  • PHP接入支付接口實現打賞功能并記錄打賞信息及訂單

    摘要:接入支付寶接口實現打賞功能并記錄打賞信息及訂單,這樣網站可以統計打賞的用戶信息,并對打賞多的文章根據收入進行熱門排行。 PHP接入支付寶接口實現打賞功能并記錄打賞信息及訂單,這樣網站可以統計打賞的用戶信息,并對打賞多的文章根據收入進行熱門排行。 一、需求 網站需要實現文章打賞功能,這樣更能增加博主寫博客的動力。 二、打賞方式 目前實現打賞的功能有兩種方式: 第一種是直接貼個博主的支付...

    willin 評論0 收藏0
  • 個人支付h5支付源碼!即時到帳!不用申請接口也可以開發支付支付

    摘要:首頁收款頁面后臺管理服務端軟件源碼打包下載開發包作者補充上面已經失效了下面是新的個人免簽約支付寶微信支付解決方案 首頁 showImg(https://segmentfault.com/img/bVbcCCl?w=389&h=244); 收款頁面 showImg(https://segmentfault.com/img/bVbcCCo?w=643&h=710); 后臺管理 showIm...

    Jaden 評論0 收藏0
  • 微信支付個人免簽約即時到帳接口開發附demo

    摘要:支付界面掃碼界面支付成功后可以跳轉到你程序指定的地址手機版支付寶支付演示源碼安裝使用教程學習交流微信 支付界面: showImg(https://segmentfault.com/img/bVbh0HO?w=451&h=394); 掃碼界面: showImg(https://segmentfault.com/img/bVbh0HW?w=653&h=634); 支付成功后可以跳轉到你程序...

    red_bricks 評論0 收藏0
  • 不用申請服務號就可以開發微信支付/支付/QQ錢包支付!附:直接可用的代碼+demo

    摘要:我們知道,開發微信支付需要申請服務號并且需要一系列的資料才可以開通。怪麻煩的,現在我們可以用第三方開放的免簽約微信支付接口,支付寶接口和錢包接口,實現實時到帳的微信支付開發。 我們知道,開發微信支付需要申請服務號并且需要一系列的資料才可以開通。怪麻煩的,現在我們可以用第三方開放的免簽約微信支付接口,支付寶接口和QQ錢包接口,實現實時到帳的微信支付開發。 我們只需要在第三方的微信支付免簽...

    Zhuxy 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<