Payment Gateway এর জন্য API Integration

Magento Payment Gateway Integration - ম্যাজেন্টো ফ্রেমওয়ার্ক (Magento Framework) - Web Development

465

ম্যাজেন্টো ফ্রেমওয়ার্ক (Magento Framework) ই-কমার্স সাইটে পেমেন্ট গেটওয়ে ইন্টিগ্রেশন অত্যন্ত গুরুত্বপূর্ণ একটি ফিচার, যার মাধ্যমে গ্রাহকরা তাদের ক্রয়কার্য সম্পন্ন করতে পেমেন্ট পদ্ধতি নির্বাচন করতে পারেন। পেমেন্ট গেটওয়ে API ইন্টিগ্রেশন ম্যাজেন্টোতে কার্যকরভাবে পরিচালিত হয়, যেখানে গ্রাহকরা সহজেই পেমেন্ট করতে পারেন এবং ব্যবসায়ীরা পেমেন্ট প্রক্রিয়া ট্র্যাক করতে পারেন।

এখানে, আমরা Payment Gateway API Integration কিভাবে ম্যাজেন্টো ফ্রেমওয়ার্কে করা হয়, তার সম্পর্কে বিস্তারিত আলোচনা করব।


Magento তে Payment Gateway API Integration

Magento তে পেমেন্ট গেটওয়ে ইন্টিগ্রেশন করা মানে হল যে আপনার সাইটে একটি তৃতীয় পক্ষের পেমেন্ট সিস্টেম (যেমন PayPal, Stripe, Authorize.Net, etc.) ইন্টিগ্রেট করা, যার মাধ্যমে গ্রাহকরা তাদের পেমেন্ট সম্পন্ন করতে পারেন। এখানে কিছু সাধারণ স্টেপ দেওয়া হয়েছে যা অনুসরণ করে আপনি পেমেন্ট গেটওয়ে API ইন্টিগ্রেট করতে পারেন।


১. পেমেন্ট গেটওয়ে মডিউল তৈরি করা

Magento তে পেমেন্ট গেটওয়ে ইন্টিগ্রেশন করতে, প্রথমে আপনাকে একটি কাস্টম পেমেন্ট মডিউল তৈরি করতে হবে। আপনি app/code/[Vendor]/[Module]/ ডিরেক্টরিতে একটি নতুন মডিউল তৈরি করবেন।

কমান্ডে মডিউল তৈরি:

php bin/magento module:generate [Vendor]_[Module]

এই মডিউলটি আপনার পেমেন্ট গেটওয়ে ইন্টিগ্রেশনের জন্য ব্যবহৃত হবে।


২. Payment Gateway API সেটআপ করা

Magento তে API ইন্টিগ্রেশন করতে আপনাকে পেমেন্ট গেটওয়ে থেকে API কীগুলি নিতে হবে (যেমন Client ID, Secret Key, API Key ইত্যাদি)। পেমেন্ট গেটওয়ে পোর্টালের মাধ্যমে আপনি আপনার একাউন্টে লগইন করে এই API কীগুলি পাবেন। উদাহরণস্বরূপ, PayPal বা Stripe এর API কীগুলি ব্যবহৃত হবে।

আপনার মডিউল ফোল্ডারে, পেমেন্ট গেটওয়ের কনফিগারেশন ফাইল তৈরি করতে হবে। উদাহরণস্বরূপ:

app/code/[Vendor]/[Module]/etc/config.xml

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Config/etc/config.xsd">
    <default>
        <payment>
            <gatewayapi>
                <active>1</active>
                <model>[Vendor]_[Module]/Model/Payment</model>
                <title>Payment Gateway</title>
                <payment_action>authorize_capture</payment_action>
                <api_key>YOUR_API_KEY</api_key>
            </gatewayapi>
        </payment>
    </default>
</config>

এখানে, api_key হচ্ছে পেমেন্ট গেটওয়ে থেকে প্রাপ্ত API কীগুলির মধ্যে একটি, যেটি আপনাকে সিস্টেমে কনফিগার করতে হবে।


৩. Payment Model তৈরি করা

এখন আপনাকে একটি Payment Model তৈরি করতে হবে যা আপনার পেমেন্ট গেটওয়ের API কল করার জন্য দায়িত্বশীল হবে।

app/code/[Vendor]/[Module]/Model/Payment.php

namespace [Vendor]\[Module]\Model;

use Magento\Payment\Model\Method\AbstractMethod;

class Payment extends AbstractMethod
{
    const CODE = '[Vendor]_[Module]';

    protected $_code = self::CODE;

    public function capture(\Magento\Payment\Model\InfoInterface $payment, $amount)
    {
        // API কলের মাধ্যমে পেমেন্ট প্রক্রিয়া শুরু করা
        $apiKey = $this->getConfigData('api_key');
        
        // পেমেন্ট গেটওয়ে API কল করার জন্য কোড যুক্ত করুন
        $paymentResult = $this->processPayment($amount, $apiKey);
        
        if ($paymentResult['status'] == 'success') {
            $payment->setStatus(\Magento\Payment\Model\Method\AbstractMethod::STATUS_APPROVED);
        } else {
            $payment->setStatus(\Magento\Payment\Model\Method\AbstractMethod::STATUS_ERROR);
        }
        
        return $this;
    }

    protected function processPayment($amount, $apiKey)
    {
        // পেমেন্ট গেটওয়ে API এ কল করুন
        // উদাহরণস্বরূপ PayPal বা Stripe API
        $response = $this->sendApiRequest($amount, $apiKey);
        return $response;
    }

    protected function sendApiRequest($amount, $apiKey)
    {
        // API এ রিকুয়েস্ট পাঠানোর জন্য কোড
        // API কল করে $response ফেরত দিন
    }
}

এখানে capture() মেথডটি পেমেন্ট প্রক্রিয়া সম্পন্ন করতে ব্যবহৃত হচ্ছে এবং processPayment() মেথডের মাধ্যমে API কল করা হচ্ছে।


৪. API রেসপন্স হ্যান্ডলিং

আপনার পেমেন্ট গেটওয়ে API রেসপন্স হ্যান্ডল করতে হবে, যাতে আপনি সফল বা ব্যর্থ পেমেন্টের ফলাফল বুঝতে পারেন এবং তদনুসারে অ্যাকশন নিতে পারেন। রেসপন্স হ্যান্ডলিং কোডে আপনার API এর সফল বা ব্যর্থ স্টেটাস চেক করার জন্য কোড যুক্ত করতে হবে।

protected function sendApiRequest($amount, $apiKey)
{
    // API রিকুয়েস্ট পাঠানো
    $url = 'https://api.paymentgateway.com/payment';
    $data = [
        'amount' => $amount,
        'api_key' => $apiKey
    ];

    // cURL বা অন্য HTTP লাইব্রেরি ব্যবহার করে API কল করুন
    $response = $this->sendHttpRequest($url, $data);

    // রেসপন্স প্রক্রিয়া করা
    if ($response['status'] == 'success') {
        return ['status' => 'success', 'transaction_id' => $response['transaction_id']];
    } else {
        return ['status' => 'failed', 'message' => $response['message']];
    }
}

protected function sendHttpRequest($url, $data)
{
    // cURL এর মাধ্যমে API কল করা
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
    $response = curl_exec($ch);
    curl_close($ch);

    return json_decode($response, true);
}

এখানে, API কল করে আপনি সফল বা ব্যর্থ পেমেন্ট রেসপন্স পেতে পারেন, এবং তারপরে পেমেন্ট স্ট্যাটাস সেট করা হয়।


৫. Payment Gateway Integration এর জন্য UI কাস্টমাইজেশন

Magento তে পেমেন্ট গেটওয়ে UI কাস্টমাইজেশনের জন্য আপনাকে checkout পেজে পেমেন্ট গেটওয়ে ফর্ম প্রদর্শন করতে হবে। এজন্য আপনি পেমেন্ট গেটওয়ে মডিউলের ফ্রন্টএন্ড ফর্ম তৈরি করতে পারেন।

namespace [Vendor]\[Module]\Block;

use Magento\Framework\View\Element\Template;

class PaymentForm extends Template
{
    protected $_template = '[Vendor]_[Module]::payment/form.phtml';

    public function getApiKey()
    {
        return $this->_scopeConfig->getValue('payment/[Vendor]_[Module]/api_key');
    }
}

এখানে, getApiKey() মেথডটি API কীগুলি ফিরিয়ে দেয় এবং ফর্মে উপস্থাপন করা হয়।


৬. Magento Admin Panel কনফিগারেশন

Magento Admin Panel এর মাধ্যমে আপনার পেমেন্ট গেটওয়ে কনফিগারেশন করতে হবে।

  1. Stores > Configuration > Sales > Payment Methods এ যান।
  2. আপনার কাস্টম পেমেন্ট গেটওয়ে নির্বাচন করুন এবং প্রয়োজনীয় API কীগুলি এবং কনফিগারেশন সেট করুন।

সারাংশ

Magento তে পেমেন্ট গেটওয়ে API ইন্টিগ্রেশন ব্যবসায়ীদের জন্য একটি গুরুত্বপূর্ণ কাজ, যা পেমেন্ট প্রসেসিংকে সহজ করে তোলে। Magento তে এই ইন্টিগ্রেশন সম্পন্ন করতে, আপনাকে মডিউল তৈরি, API কীগুলি কনফিগার, পেমেন্ট মডেল তৈরি, রেসপন্স হ্যান্ডলিং এবং UI কাস্টমাইজেশন করতে হবে। এইভাবে পেমেন্ট গেটওয়ে ইন্টিগ্রেশন করার মাধ্যমে আপনি আপনার গ্রাহকদের জন্য আরও সুবিধাজনক এবং নিরাপদ পেমেন্ট সিস্টেম তৈরি করতে পারবেন।

Content added By
Promotion

Are you sure to start over?

Loading...