php中文网

使用 PHP 集成 Lloyds 支付卡:Cardnet 托管支付页面(连接解决方​​案)

php中文网

介绍

集成安全可靠的支付网关对于电子商务业务至关重要。劳埃德银行的 cardnet® 托管支付页面解决方案 connect 提供了一种安全的交易处理方式。客户将被重定向到劳埃德托管的页面以完成交易,然后返回您的网站。以下是您如何设置它、将其与 php 集成并为您的用户提供无缝体验的方法。

lloyds cardnet 托管支付页面的功能

lloyds cardnet 提供的托管支付页面有几个好处:

  • 自定义:使用您的企业徽标和颜色个性化支付页面。

  • pci dss 合规性:cardnet 处理 pci dss 和 3d secure 合规性。

    立即学习“PHP免费学习笔记(深入)”;

  • 实时报告:通过 cardnet 的报告仪表板 24/7 访问客户分析。

箴言 11:1

设置您的托管支付页面

在深入了解代码之前,必须使用 lloyds cardnet 设置您的商家帐户。以下是要记住的要点:
创建商户帐户:企业必须设立一个商户来获取 cardnet 帐户。此过程可能需要 7-10 个工作日。
集成时间表:将托管支付页面连接到网站通常需要 2-4 周,具体取决于网站的复杂程度。
资金时间:资金通常在 3-5 个工作日内转账,也可付费选择更快的 2 天转账。

集成代码演练

在本指南中,我们将逐步介绍将 lloyds 托管支付页面与您的网站集成的 php 代码,确保为您的客户提供顺畅、安全的结账体验。

第 1 步:设置基本配置

首先根据您的帐户详细信息和要求配置基本字段。以下 php 代码定义了交易属性,例如商店 id、时区、交易类型等。

$storeid = "store_id";            // unique identifier for your store
$timezone = "europe/london";        // timezone setting
$txntype = "sale";                  // transaction type (e.g., sale)
$chargetotal = "13.00";             // amount to charge
$currency = "826";                  // iso 4217 currency code (826 for gbp)
$txndatetime = gmdate("y:m:d-h:i:s"); // transaction datetime in utc
$responsesuccessurl = "https://example.com/success.php"; // success redirect url
$responsefailurl = "https://example.com/failure.php";    // failure redirect url
$checkoutoption = "combinedpage";   // checkout option
$hash_algorithm = "hmacsha256";     // hashing algorithm for secure transactions

注意:此设置可确保您的交易根据劳埃德银行的要求进行配置。

第 2 步: 创建连接字符串

接下来,根据这些值创建一个串联字符串。该字符串将被散列以维护安全性。它的构建方式如下:

// concatenate the required fields to create a single string for hashing
$stringtohash = $chargetotal . "|" . $checkoutoption . "|" . $currency . "|" .
    $hash_algorithm . "|" . $responsefailurl . "|" . $responsesuccessurl . "|" .
    $storeid . "|" . $timezone . "|" . $txndatetime . "|" . $txntype;

echo "concatenated string: " . $stringtohash . "<br>";

注意:连接的字符串对于创建验证交易完整性的哈希至关重要。

第 3 步:生成哈希

为了保证交易的安全性,请使用 hash_hmac() 函数和 sha-256 算法。这将使用您的共享密钥生成连接字符串的哈希版本,这对于安全交易至关重要。

// secret key for hashing (from your secure configuration)
$sharedsecret = "shared_secret"; 

// generate the hash using sha-256 algorithm and encode it in base64
$hash = hash_hmac('sha256', $stringtohash, $sharedsecret, true);
$hashoutput = base64_encode($hash);

echo "generated hash: " . $hashoutput . "<br>";

注意:此哈希将与您的表单数据一起发送,以验证交易详细信息未被篡改。

第 4 步:构建 html 表单

现在,创建 html 表单,将该数据发送到 lloyds 的支付网关。该表单包括哈希值(hashextended)和其他交易详细信息。当用户提交表单时,他们将被引导至劳埃德托管的付款页面。

<form method="post" action="https://test.ipg-online.com/connect/gateway/processing">
    <p><label for="storename">Store ID:</label>
       <input type="text" name="storename" value="<?php echo $storeId; ?>" /></p>
    <p><label for="timezone">Timezone:</label>
       <input type="text" name="timezone" value="<?php echo $timezone; ?>" /></p>
    <p><label for="txntype">Transaction Type:</label>
       <input type="text" name="txntype" value="<?php echo $txntype; ?>" /></p>
    <p><label for="chargetotal">Transaction Amount:</label>
       <input type="text" name="chargetotal" value="<?php echo $chargetotal; ?>" /></p>
    <p><label for="currency">Currency (ISO4217):</label>
       <input type="text" name="currency" value="<?php echo $currency; ?>" /></p>
    <p><label for="txndatetime">Transaction DateTime:</label>
       <input type="text" name="txndatetime" value="<?php echo $txndatetime; ?>" /></p>
    <p><label for="responseSuccessURL">Response Success URL:</label>
       <input type="text" name="responseSuccessURL" value="<?php echo $responseSuccessURL; ?>" /></p>
    <p><label for="responseFailURL">Response Fail URL:</label>
       <input type="text" name="responseFailURL" value="<?php echo $responseFailURL; ?>" /></p>
    <p><label for="hashExtended">Hash Extended:</label>
       <input type="text" name="hashExtended" value="<?php echo $hashOutput; ?>" readonly="readonly" /></p>
    <p><label for="hash_algorithm">Hash Algorithm:</label>
       <input type="text" name="hash_algorithm" value="<?php echo $hash_algorithm; ?>" readonly="readonly" /></p>
    <p><label for="checkoutoption">Checkout Option:</label>
       <input type="text" name="checkoutoption" value="<?php echo $checkoutoption; ?>" /></p>
    <input type="submit" value="Submit">
</form>

注意:此表单会自动填充 php 值,确保安全嵌入每笔交易的详细信息。

祝您编码愉快,并祝成功集成!
代码的 github 链接

以上就是使用 PHP 集成 Lloyds 支付卡:Cardnet 托管支付页面(连接解决方​​案)的详细内容,更多请关注php中文网其它相关文章!