برنامه نویسی

معرفی Pesapal PHP SDK: ادغام پرداخت خود را ساده کنید

Summarize this content to 400 words in Persian Lang

ادغام راه حل های پرداخت در برنامه های PHP شما بسیار ساده تر شده است. ما بسیار هیجان زده هستیم که انتشار خود را اعلام کنیم Pesapal PHP SDK، یک کتابخانه قوی و کاربر پسند که برای ساده کردن تعامل شما با درگاه پرداخت Pesapal طراحی شده است.

🌟 چرا Pesapal PHP SDK؟

Pesapal یک پلت فرم پرداخت پیشرو در آفریقا است که پردازش پرداخت ایمن و قابل اعتماد را برای مشاغل در هر اندازه ارائه می دهد. با این حال، ادغام مستقیم API Pesapal می تواند زمان بر و پیچیده باشد. SDK ما پیچیدگی های API را خلاصه می کند و یک رابط کاربری تمیز و شهودی برای توسعه دهندگان ارائه می دهد.

ویژگی های کلیدی

احراز هویت آسان: احراز هویت OAuth با Pesapal را ساده می کند.

یکپارچه سازی پرداخت بدون درز: به سرعت پرداخت ها را شروع کنید و پاسخگوی تماس ها را مدیریت کنید.

مدیریت تراکنش: وضعیت تراکنش ها را به راحتی بررسی کنید و بازپرداخت را پردازش کنید.

سازگار با PSR-4: از استانداردهای PHP-FIG برای بارگذاری خودکار پیروی می کند.

مستندات گسترده: روش‌ها و مثال‌های کاملاً مستند برای شروع.

🚀 شروع به کار

نصب و راه اندازی

SDK را از طریق Composer نصب کنید:

composer require katorymnd/pesapal-php-sdk

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

الزامات

پیکربندی

مشتری را با اعتبار Pesapal خود راه اندازی کنید:

require ‘vendor/autoload.php’;

use Katorymnd\PesapalPhpSdk\Api\PesapalClient;
use Katorymnd\PesapalPhpSdk\Config\PesapalConfig;

$consumerKey = ‘YOUR_CONSUMER_KEY’;
$consumerSecret = ‘YOUR_CONSUMER_SECRET’;

// Initialize PesapalConfig and PesapalClient
$configPath = __DIR__ . ‘/../pesapal_dynamic.json’;
$config = new PesapalConfig($consumerKey, $consumerSecret, $configPath);
$environment = ‘sandbox’;
$sslVerify = false; // Enable SSL verification for production

$pesapal = new PesapalClient($config, $environment, $sslVerify);

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

💳 شروع پرداخت

در اینجا نحوه پرداخت با حداقل کد آمده است:

use Katorymnd\PesapalPhpSdk\Utils\PesapalHelpers;

$merchantReference = PesapalHelpers::generateMerchantReference();
$notificationId = ‘adbd39cc-a48e-4789-b42b-79ad8deb32df’; // Replace with actual notification ID from IPN registration

// Define the order data as an associative array for the POST request
$paymentDetails= [
“id” => $merchantReference,
“currency” => “USD”,
“amount” => 100.00,
“description” => “Payment for invoice ” . $merchantReference,
“callback_url” => “https://www.example.com/payment-callback”,
“notification_id” => $notificationId,
“redirect_mode” => “PARENT_WINDOW”,
“cancellation_url” => “https://www.example.com/payment-cancel”,
“billing_address” => [
“phone_number” => “0700000000”,
“email_address” => “john.doe@example.com”,
“country_code” => “UG”,
“first_name” => “John”,
“middle_name” => “”,
“last_name” => “Doe”,
“line_1” => “123 Example Street”,
“line_2” => “”,
“city” => “Kampala”,
“state” => “KMP”,
“postal_code” => 256
] ];

// Obtain a valid access token
$accessToken = $clientApi->getAccessToken();
if (!$accessToken) {
throw new PesapalException(‘Failed to obtain access token’);
}

// Submit order request to Pesapal
$response = $clientApi->submitOrderRequest($orderData);

if ($response[‘status’] === 200 && isset($response[‘response’][‘redirect_url’])) {
$redirectUrl = $response[‘response’][‘redirect_url’];
$orderTrackingId = $response[‘response’][‘order_tracking_id’];

} else {
// Handle errors
$response[‘response’][‘error’] }

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

🔍 بررسی وضعیت تراکنش

برای بررسی وضعیت تراکنش:

use Katorymnd\PesapalPhpSdk\Exceptions\PesapalException;

// Obtain a valid access token
$accessToken = $clientApi->getAccessToken();
if (!$accessToken) {
throw new PesapalException(‘Failed to obtain access token’);
}

// Get the transaction status
$response = $clientApi->getTransactionStatus($orderTrackingId);

if ($response[‘status’] === 200 && isset($response[‘response’])) {
$transactionStatusData = $response[‘response’];
}

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

💰 پردازش بازپرداخت

به راحتی بازپرداخت را صادر کنید:

// Prepare refund data with user-provided values
$refundData = [
‘confirmation_code’ => ‘7323605385336397404011’, // the code is received by checking the transaction status
‘amount’ => 50.00,
‘username’ => ‘John Doe’,
‘remarks’ => ‘Customer Requested Refund’
];

try {
// Request Refund
$refundResponse = $clientApi->requestRefund($refundData);

if ($refundResponse[‘status’] === 200 && isset($refundResponse[‘response’])) {
$refundDataResponse = $refundResponse[‘response’];

// Add refund response to the output
$responseData[‘refund_response’] = $refundDataResponse;
} else {
$errorMessage = $refundResponse[‘response’][‘error’][‘message’] ?? ‘Unknown error occurred while requesting a refund.’;
throw new PesapalException($errorMessage);
}
} catch (PesapalException $e) {
// Add the error to the response
$responseData[‘refund_error’] = [
‘error’ => $e->getMessage(),
‘details’ => $e->getErrorDetails(),
];
}

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

🧪 تست و توسعه

ما یک مجموعه آزمایشی جامع برای اطمینان از قابلیت اطمینان SDK قرار داده ایم. برای اجرای تست ها:

vendor/bin/phpunit

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

📄 مستندات

برای اطلاعات دقیق در مورد تمام روش ها و ویژگی های موجود، لطفاً به مخزن GitHub ما مراجعه کنید.

🤝 کمک کردن

ما از مشارکت های جامعه استقبال می کنیم! به راحتی می توانید مسائل را ارسال کنید، مخزن را جدا کنید، و درخواست های کششی ارائه دهید.

📦 توزیع پکیج

SDK در Packagist موجود است، و به راحتی می توانید آن را از طریق Composer در پروژه های خود قرار دهید.

🛠️ یکپارچه سازی مستمر

ما یکپارچه سازی مداوم را با استفاده از GitHub Actions تنظیم کرده ایم تا اطمینان حاصل کنیم که هر به روز رسانی بالاترین استانداردهای کیفیت را حفظ می کند.

🎉 نتیجه گیری

Pesapal PHP SDK برای صرفه جویی در زمان و تلاش شما طراحی شده است و به شما این امکان را می دهد که بدون نگرانی در مورد پیچیدگی های یکپارچه سازی پرداخت، روی ساخت برنامه های عالی تمرکز کنید. ما هیجان زده هستیم که ببینیم با آن چه می سازید!

📫 در ارتباط باشید

Pesapal PHP SDK

ادغام راه حل های پرداخت در برنامه های PHP شما بسیار ساده تر شده است. ما بسیار هیجان زده هستیم که انتشار خود را اعلام کنیم Pesapal PHP SDK، یک کتابخانه قوی و کاربر پسند که برای ساده کردن تعامل شما با درگاه پرداخت Pesapal طراحی شده است.

🌟 چرا Pesapal PHP SDK؟

Pesapal یک پلت فرم پرداخت پیشرو در آفریقا است که پردازش پرداخت ایمن و قابل اعتماد را برای مشاغل در هر اندازه ارائه می دهد. با این حال، ادغام مستقیم API Pesapal می تواند زمان بر و پیچیده باشد. SDK ما پیچیدگی های API را خلاصه می کند و یک رابط کاربری تمیز و شهودی برای توسعه دهندگان ارائه می دهد.

ویژگی های کلیدی

  • احراز هویت آسان: احراز هویت OAuth با Pesapal را ساده می کند.
  • یکپارچه سازی پرداخت بدون درز: به سرعت پرداخت ها را شروع کنید و پاسخگوی تماس ها را مدیریت کنید.
  • مدیریت تراکنش: وضعیت تراکنش ها را به راحتی بررسی کنید و بازپرداخت را پردازش کنید.
  • سازگار با PSR-4: از استانداردهای PHP-FIG برای بارگذاری خودکار پیروی می کند.
  • مستندات گسترده: روش‌ها و مثال‌های کاملاً مستند برای شروع.

🚀 شروع به کار

نصب و راه اندازی

SDK را از طریق Composer نصب کنید:

composer require katorymnd/pesapal-php-sdk
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

الزامات

پیکربندی

مشتری را با اعتبار Pesapal خود راه اندازی کنید:

require 'vendor/autoload.php';

use Katorymnd\PesapalPhpSdk\Api\PesapalClient;
use Katorymnd\PesapalPhpSdk\Config\PesapalConfig;

$consumerKey = 'YOUR_CONSUMER_KEY';
$consumerSecret = 'YOUR_CONSUMER_SECRET';

// Initialize PesapalConfig and PesapalClient
$configPath = __DIR__ . '/../pesapal_dynamic.json';
$config = new PesapalConfig($consumerKey, $consumerSecret, $configPath);
$environment = 'sandbox';
$sslVerify = false; // Enable SSL verification for production


$pesapal = new PesapalClient($config, $environment, $sslVerify);

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید


💳 شروع پرداخت

در اینجا نحوه پرداخت با حداقل کد آمده است:

use Katorymnd\PesapalPhpSdk\Utils\PesapalHelpers;

$merchantReference = PesapalHelpers::generateMerchantReference();
$notificationId = 'adbd39cc-a48e-4789-b42b-79ad8deb32df';  // Replace with actual notification ID from IPN registration

// Define the order data as an associative array for the POST request
$paymentDetails= [
    "id" => $merchantReference,
    "currency" => "USD",
    "amount" => 100.00,
    "description" => "Payment for invoice " . $merchantReference,
    "callback_url" => "https://www.example.com/payment-callback",
    "notification_id" => $notificationId,
    "redirect_mode" => "PARENT_WINDOW",
    "cancellation_url" => "https://www.example.com/payment-cancel",
    "billing_address" => [
        "phone_number" => "0700000000",
        "email_address" => "john.doe@example.com",
        "country_code" => "UG",
        "first_name" => "John",
        "middle_name" => "",
        "last_name" => "Doe",
        "line_1" => "123 Example Street",
        "line_2" => "",
        "city" => "Kampala",
        "state" => "KMP",
        "postal_code" => 256
    ]
];

// Obtain a valid access token
    $accessToken = $clientApi->getAccessToken();
    if (!$accessToken) {
        throw new PesapalException('Failed to obtain access token');
    }

// Submit order request to Pesapal
    $response = $clientApi->submitOrderRequest($orderData);

if ($response['status'] === 200 && isset($response['response']['redirect_url'])) {
        $redirectUrl = $response['response']['redirect_url'];
        $orderTrackingId = $response['response']['order_tracking_id'];

} else {
    // Handle errors
    $response['response']['error']
}
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید


🔍 بررسی وضعیت تراکنش

برای بررسی وضعیت تراکنش:

use Katorymnd\PesapalPhpSdk\Exceptions\PesapalException;

// Obtain a valid access token
    $accessToken = $clientApi->getAccessToken();
    if (!$accessToken) {
        throw new PesapalException('Failed to obtain access token');
    }

 // Get the transaction status
    $response = $clientApi->getTransactionStatus($orderTrackingId);

if ($response['status'] === 200 && isset($response['response'])) {
        $transactionStatusData = $response['response'];
}

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید


💰 پردازش بازپرداخت

به راحتی بازپرداخت را صادر کنید:


// Prepare refund data with user-provided values
$refundData = [
    'confirmation_code' => '7323605385336397404011', // the code is received by  checking the transaction status
    'amount' => 50.00,
    'username' => 'John Doe',
    'remarks' => 'Customer Requested Refund'
];

try {
    // Request Refund
    $refundResponse = $clientApi->requestRefund($refundData);

    if ($refundResponse['status'] === 200 && isset($refundResponse['response'])) {
        $refundDataResponse = $refundResponse['response'];

        // Add refund response to the output
        $responseData['refund_response'] = $refundDataResponse;
    } else {
        $errorMessage = $refundResponse['response']['error']['message'] ?? 'Unknown error occurred while requesting a refund.';
        throw new PesapalException($errorMessage);
    }
} catch (PesapalException $e) {
    // Add the error to the response
    $responseData['refund_error'] = [
        'error' => $e->getMessage(),
        'details' => $e->getErrorDetails(),
    ];
}

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید


🧪 تست و توسعه

ما یک مجموعه آزمایشی جامع برای اطمینان از قابلیت اطمینان SDK قرار داده ایم. برای اجرای تست ها:

vendor/bin/phpunit
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید


📄 مستندات

برای اطلاعات دقیق در مورد تمام روش ها و ویژگی های موجود، لطفاً به مخزن GitHub ما مراجعه کنید.


🤝 کمک کردن

ما از مشارکت های جامعه استقبال می کنیم! به راحتی می توانید مسائل را ارسال کنید، مخزن را جدا کنید، و درخواست های کششی ارائه دهید.


📦 توزیع پکیج

SDK در Packagist موجود است، و به راحتی می توانید آن را از طریق Composer در پروژه های خود قرار دهید.


🛠️ یکپارچه سازی مستمر

ما یکپارچه سازی مداوم را با استفاده از GitHub Actions تنظیم کرده ایم تا اطمینان حاصل کنیم که هر به روز رسانی بالاترین استانداردهای کیفیت را حفظ می کند.


🎉 نتیجه گیری

Pesapal PHP SDK برای صرفه جویی در زمان و تلاش شما طراحی شده است و به شما این امکان را می دهد که بدون نگرانی در مورد پیچیدگی های یکپارچه سازی پرداخت، روی ساخت برنامه های عالی تمرکز کنید. ما هیجان زده هستیم که ببینیم با آن چه می سازید!


📫 در ارتباط باشید


نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا