📜  php sdk paytm - PHP (1)

📅  最后修改于: 2023-12-03 15:03:35.767000             🧑  作者: Mango

PHP SDK Paytm介绍

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文档和示例代码。