PHP 애플리케이션에 결제 솔루션을 통합하는 것이 훨씬 쉬워졌습니다. Pesapal 결제 게이트웨이와의 상호 작용을 간소화하도록 설계된 강력하고 사용자 친화적인 라이브러리인 Pesapal PHP SDK의 출시를 발표하게 되어 기쁘게 생각합니다.
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 저장소를 참조하세요.
커뮤니티의 기여를 환영합니다! 자유롭게 이슈를 제출하고, 저장소를 포크하고, 끌어오기 요청을 하세요.
Packagist에서 SDK를 사용할 수 있으므로 Composer를 통해 프로젝트에 쉽게 포함할 수 있습니다.
우리는 모든 업데이트가 최고 품질 표준을 유지할 수 있도록 GitHub Actions를 사용하여 지속적인 통합을 설정했습니다.
Pesapal PHP SDK는 시간과 노력을 절약하도록 설계되어 복잡한 결제 통합에 대한 걱정 없이 훌륭한 애플리케이션 구축에 집중할 수 있습니다. 여러분이 이 제품으로 무엇을 만들 수 있을지 기대됩니다!
위 내용은 Pesapal PHP SDK 소개: 결제 통합을 단순화하세요의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!