支払いソリューションを PHP アプリケーションに統合することが、はるかに簡単になりました。 Pesapal PHP SDK のリリースを発表できることを嬉しく思います。これは、Pesapal 支払いゲートウェイとのやり取りを合理化するために設計された堅牢でユーザーフレンドリーなライブラリです。
Pesapal はアフリカを代表する決済プラットフォームで、あらゆる規模の企業に安全で信頼性の高い決済処理を提供します。ただし、Pesapal の API を直接統合するには、時間がかかり、複雑になる可能性があります。私たちの SDK は API の複雑さを抽象化し、開発者にクリーンで直感的なインターフェイスを提供します。
Composer 経由で SDK をインストールします:
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 中国語 Web サイトの他の関連記事を参照してください。