📅  最后修改于: 2023-12-03 15:03:35.767000             🧑  作者: Mango
Paytm提供了PHP SDK,以便您能够轻松地集成和处理Paytm的所有支付。本次介绍将重点介绍PHP SDK。
使用Composer可轻松安装Paytm PHP SDK。执行以下命令:
composer require paytm/payments
配置SDK是非常重要的一步,使用Paytm的应用程序需要具有一些应用程序凭据。
您可以在Paytm商户门户中创建新的应用程序,获得不同的凭证,例如:Merchant ID、Merchant Key、Merchant Salt、Industry Type ID以及PAYTM 网关 URL等。
<?php
require_once __DIR__ . '/vendor/autoload.php';
// Mandatory parameteres for creating an instance
$paytmParams["MID"] = "YOUR_MID_HERE";
$paytmParams["ORDER_ID"] = "ORDERID_123456789";
$paytmParams["CUST_ID"] = "CUSTOMERID_12345";
$paytmParams["INDUSTRY_TYPE_ID"] = "YOUR_INDUSTRY_TYPE_ID_HERE";
$paytmParams["CHANNEL_ID"] = "YOUR_CHANNEL_ID_HERE";
$paytmParams["TXN_AMOUNT"] = "1.00";
$paytmParams["WEBSITE"] = "WEB_STAGING";
$paytmParams["CALLBACK_URL"] = "YOUR_CALLBACK_URL";
$paytmChecksum = PaytmChecksum::generateSignature($paytmParams, "YOUR_MERCHANT_KEY");
$generated_web_view = new Paytm\pg\ShowPaymentPage();
$paytmParams["CHECKSUMHASH"] = $paytmChecksum;
$response = $generated_web_view->getPaytmURL($paytmParams);
echo $response['body'];
?>
下面,我们将演示如何使用Paytm SDK来处理付款事务。
当客户成功进行支付交易时,Paytm会将详细信息作为回调通知,您可以在此处获取这些详细信息。
<?php
require_once __DIR__ . '/vendor/autoload.php';
$paytmParams = $_POST;
$isValidChecksum = PaytmChecksum::verifySignature($paytmParams,"YOUR_MERCHANT_KEY", $paytmParams["CHECKSUMHASH"]);
if($isValidChecksum == true) {
$notification_status = "";
if(isset($paytmParams["STATUS"])){
$notification_status = $paytmParams["STATUS"];
}
// New order status
if($notification_status === "TXN_SUCCESS"){
// Get order details
$order_id = $paytmParams["ORDERID"];
$transaction_id = $paytmParams["TXNID"]; // Txn ID
$bank_txn_id = $paytmParams["BANKTXNID"]; // Bank Txn ID
$amount = $paytmParams["TXNAMOUNT"];
$payment_mode = $paytmParams["PAYMENTMODE"]; // Payment mode
$payment_gateway = $paytmParams["GATEWAYNAME"]; // Payment gateway
// Process transaction
// Add your custom actions here
} else if($notification_status === "TXN_FAILURE"){
// Transaction failed
echo "Transaction Failed!";
} else if($notification_status === "PENDING"){
// Payment is pending
echo "Payment is Pending!";
}
} else {
// Invalid checksum
echo "Invalid Checksum";
}
?>
Paytm SDK提供了各种功能和配置选项,以便您可以集成和处理交易,同时也需要考虑到安全方面,此处介绍的是一个简单的例子。更多信息请访问官方网站以获取更详细的SDK文档和示例代码。