亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

PHP接入支付寶 即時(shí)到帳接口

stormgens / 594人閱讀

摘要:如果還不知道如何簽約,請(qǐng)查看支付寶即時(shí)到帳簽約教程完成簽約后,需要把項(xiàng)目導(dǎo)入自己的項(xiàng)目中安裝方法,請(qǐng)參考項(xiàng)目簡(jiǎn)介。跳轉(zhuǎn)支付寶通過(guò)上一步返回的是請(qǐng)求支付寶的。本次支付寶的即時(shí)到帳接口到這里就完成了調(diào)用。

payment 項(xiàng)目2.0版本

特別聲明:

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

通過(guò)幾天的時(shí)間,終于把payment 2.0的基本結(jié)構(gòu)搭好了。今天剛完成支付寶 即時(shí)到帳 接口的開(kāi)發(fā)。趕緊把使用文檔給補(bǔ)上。請(qǐng)大家一定仔細(xì)查看文檔,實(shí)在還不行就來(lái)問(wèn)我吧?。ㄎ移诖銌?wèn)我,反正我收錢的,哈哈)

即時(shí)到帳 接口簽約

在你使用這個(gè)接口時(shí),請(qǐng)先確認(rèn)你是否在支付寶商戶中心簽約了該接口。

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

OK!完成簽約后,

需要把 payment項(xiàng)目導(dǎo)入自己的項(xiàng)目中 安裝方法,請(qǐng)參考Payment項(xiàng)目簡(jiǎn)介。

調(diào)用示例

在項(xiàng)目的 examples 文件夾中,我已提供完整的示例。為了便于大家理解,這里對(duì)代碼再進(jìn)行說(shuō)明。

支付寶的配置文件

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

調(diào)用時(shí),僅需要提供給我如下的一個(gè)數(shù)組,至于配置信息寫(xiě)在哪里,完全由你自己決定。

我在示例中,是將配置信息寫(xiě)在 examples/aliconfig.php 中,然后使用 require_once 包含進(jìn)來(lái)。你完全可以寫(xiě)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",
];

參數(shù)介紹

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

特別說(shuō)明:

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

如果 notify_url 為空,雖然可支付成功,但是客戶端將無(wú)法收到支付寶的回調(diào)結(jié)果。

建議采用https協(xié)議

調(diào)用支付

項(xiàng)目中的示例代碼,參見(jiàn) examples/charge.php

//  生成訂單號(hào) 便于測(cè)試
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"    => "我是即時(shí)到帳",
    "body"    => "支付測(cè)試即時(shí)到帳接口",
    "extraCommonParam"    => "",
];

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


// 實(shí)例化支付環(huán)境類,進(jìn)行支付創(chuàng)建
$charge = new ChargeContext();

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

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

以上代碼就完成了即時(shí)到帳的全部調(diào)用,下面分步驟來(lái)說(shuō)明下代碼含義:

訂單信息

此部分的key部分,必須采用以下值,否則SDK無(wú)法識(shí)別。

// createPayid(); 函數(shù)是為了演示方便,隨手寫(xiě)的一個(gè)生成訂單號(hào)的函數(shù)

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

參數(shù)說(shuō)明

參數(shù) 參數(shù)名 參數(shù)說(shuō)明 是否必須
order_no 訂單號(hào) 平臺(tái)根據(jù)規(guī)則生成的訂單號(hào),最長(zhǎng)64位,要在商戶數(shù)據(jù)庫(kù)中唯一 必須
amount 交易總金額 該筆訂單的資金總額,單位為RMB-Yuan。取值范圍為[0.01,100000000.00],精確到小數(shù)點(diǎn)后兩位。 必須
client_ip 客戶端IP 用戶在創(chuàng)建交易時(shí),該用戶當(dāng)前所使用機(jī)器的IP。 必須
subject 商品名稱 商品的標(biāo)題/交易標(biāo)題/訂單標(biāo)題/訂單關(guān)鍵字等。該參數(shù)最長(zhǎng)為128個(gè)漢字。 必須
body 商品描述 對(duì)一筆交易的具體描述信息。如果是多種商品,請(qǐng)將商品描述字符串累加傳給body。 必須
extra_param 公用回傳參數(shù) 如果用戶請(qǐng)求時(shí)傳遞了該參數(shù),則返回給商戶時(shí)會(huì)回傳該參數(shù)。 可選

簽名數(shù)據(jù)

以下是真正實(shí)現(xiàn)數(shù)據(jù)簽名的地方,返回的數(shù)據(jù)可直接用于發(fā)起支付寶支付。大家可以對(duì)比下支付寶自身信息,是不是已經(jīng)大大簡(jiǎn)化了?
當(dāng)然簡(jiǎn)化帶來(lái)的另外一個(gè)意思就是:放棄了很多我們正常情況下用不到的功能,比如:花唄分期

// 實(shí)例化支付環(huán)境類,進(jìn)行支付創(chuàng)建
$charge = new ChargeContext();

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

這里對(duì)于調(diào)用者,僅僅需要知道 ChargeContext 這一個(gè)類,這里使用了 策略模式 + 簡(jiǎn)單工廠模式 兩種方法來(lái)進(jìn)行調(diào)用的簡(jiǎn)化。這種方式也非常方便后期進(jìn)行擴(kuò)展,對(duì)于客戶端與復(fù)雜的邏輯進(jìn)行了隔離。

跳轉(zhuǎn)支付寶

通過(guò)上一步返回的是請(qǐng)求支付寶的url。由于在頁(yè)面上可能需要通過(guò)js調(diào)用支付寶或者還有其他邏輯,因?yàn)槲也](méi)有直接重定向到支付寶,而把控制權(quán)交到了客戶端手中。

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

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

本次支付寶的即時(shí)到帳接口到這里就完成了調(diào)用。下一節(jié)把回調(diào)通知部分完成,這樣一個(gè)基本的支付流程就完成了。

技術(shù)支持

如果需要協(xié)助集成到項(xiàng)目,可付費(fèi)獲得我的服務(wù)!

微信:helei543345

郵箱: dayugog@gmail.com

支持我:

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/21014.html

相關(guān)文章

  • PHP接入支付手機(jī)網(wǎng)站支付、移動(dòng)支付接口

    摘要:目前常量的含義及時(shí)到賬接口,主要用于網(wǎng)站支付手機(jī)網(wǎng)站支付接口,主要用于手機(jī)瀏覽器移動(dòng)支付接口,主要用于原生調(diào)用方式非常統(tǒng)一,傳入的參數(shù)也被最大程度的統(tǒng)一化。 payment 項(xiàng)目2.0版本 前面已經(jīng)說(shuō)完了 PHP接入支付寶 即時(shí)到帳接口 回調(diào)接口也已經(jīng)完成。這篇主要講 手機(jī)網(wǎng)站支付 、 移動(dòng)支付 接口的調(diào)用。調(diào)用方式與即時(shí)到帳 基本一樣。 關(guān)于代碼部分的詳細(xì)解釋,請(qǐng) 參看 PHP接入...

    xzavier 評(píng)論0 收藏0
  • PHP接入支付接口實(shí)現(xiàn)打賞功能并記錄打賞信息及訂單

    摘要:接入支付寶接口實(shí)現(xiàn)打賞功能并記錄打賞信息及訂單,這樣網(wǎng)站可以統(tǒng)計(jì)打賞的用戶信息,并對(duì)打賞多的文章根據(jù)收入進(jìn)行熱門排行。 PHP接入支付寶接口實(shí)現(xiàn)打賞功能并記錄打賞信息及訂單,這樣網(wǎng)站可以統(tǒng)計(jì)打賞的用戶信息,并對(duì)打賞多的文章根據(jù)收入進(jìn)行熱門排行。 一、需求 網(wǎng)站需要實(shí)現(xiàn)文章打賞功能,這樣更能增加博主寫(xiě)博客的動(dòng)力。 二、打賞方式 目前實(shí)現(xiàn)打賞的功能有兩種方式: 第一種是直接貼個(gè)博主的支付...

    willin 評(píng)論0 收藏0
  • 個(gè)人支付h5支付源碼!即時(shí)到帳!不用申請(qǐng)接口也可以開(kāi)發(fā)支付支付。

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

    Jaden 評(píng)論0 收藏0
  • 微信支付個(gè)人免簽約即時(shí)到帳接口開(kāi)發(fā)附demo

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

    red_bricks 評(píng)論0 收藏0
  • 不用申請(qǐng)服務(wù)號(hào)就可以開(kāi)發(fā)微信支付/支付/QQ錢包支付!附:直接可用的代碼+demo

    摘要:我們知道,開(kāi)發(fā)微信支付需要申請(qǐng)服務(wù)號(hào)并且需要一系列的資料才可以開(kāi)通。怪麻煩的,現(xiàn)在我們可以用第三方開(kāi)放的免簽約微信支付接口,支付寶接口和錢包接口,實(shí)現(xiàn)實(shí)時(shí)到帳的微信支付開(kāi)發(fā)。 我們知道,開(kāi)發(fā)微信支付需要申請(qǐng)服務(wù)號(hào)并且需要一系列的資料才可以開(kāi)通。怪麻煩的,現(xiàn)在我們可以用第三方開(kāi)放的免簽約微信支付接口,支付寶接口和QQ錢包接口,實(shí)現(xiàn)實(shí)時(shí)到帳的微信支付開(kāi)發(fā)。 我們只需要在第三方的微信支付免簽...

    Zhuxy 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<