介绍
集成安全可靠的支付网关对于电子商务业务至关重要。劳埃德银行的 cardnet® 托管支付页面解决方案 connect 提供了一种安全的交易处理方式。客户将被重定向到劳埃德托管的页面以完成交易,然后返回您的网站。以下是您如何设置它、将其与 php 集成并为您的用户提供无缝体验的方法。
lloyds cardnet 托管支付页面的功能
lloyds cardnet 提供的托管支付页面有几个好处:
-
自定义:使用您的企业徽标和颜色个性化支付页面。
-
pci dss 合规性:cardnet 处理 pci dss 和 3d secure 合规性。
-
实时报告:通过 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 链接