midsonlajeanty / php-natcash-sdk
Minimum SDK to process payment with Natcom Natcash Payment Gateway
v1.0.0
2026-02-04 03:03 UTC
Requires
- php: ^7.4|^8.0
- guzzlehttp/guzzle: ^7.8
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.93
- mockery/mockery: ^1.6
- pestphp/pest: ^1.23
- phpstan/phpstan: ^2.1
- rector/rector: ^2.3
README
Minimum SDK to process payment with Natcom Natcash Payment Gateway
Features
- Create Payment Transaction and get gateway URL (Natcash Checkout)
- Get Transaction Details by Order ID
Getting started
composer require midsonlajeanty/php-natcash-sdk
Usage
Init Payment and get Payment URL (Natcash Checkout)
use Mds\Natcash\Config; use Mds\Natcash\Natcash; use Mds\Natcash\PaymentRequest; // Natcash Merchant Credentials $configArray = [ 'privateKey' => PRIVATE_KEY, 'partnerCode' => PARTNER_CODE, 'functionCode' => FUNCTION_CODE, 'username' => USERNAME, 'password' => PASSWORD, 'callbackUrl' => CALLBACK_URL, ]; $config = Config::fromArray($configArray); // Payment Request $paymentArray = [ 'orderNumber' => 'ORDER-001', 'amount' => 10, ]; $payment = PaymentRequest::fromArray($paymentArray); // Init SDK with config $natcash = new Natcash($config, DEBUG); // Make Payment with payment request and Amount $response = $natcash->makePayment($payment); // Get Payment URL (Natcash Checkout) $response->getRedirect();
Get Transaction Details by Order ID
use Mds\Natcash\Config; use Mds\Natcash\Natcash; use Mds\Natcash\PaymentRequest; // Natcash Merchant Credentials $configArray = [ 'privateKey' => PRIVATE_KEY, 'partnerCode' => PARTNER_CODE, 'functionCode' => FUNCTION_CODE, 'username' => USERNAME, 'password' => PASSWORD, 'callbackUrl' => CALLBACK_URL, ]; $config = Config::fromArray($configArray); // Init SDK with config $natcash = new Natcash($config, DEBUG); // Verify Webhook Payload Signature $isValid = $natcash->verifyPayloadSignature('WEBHOOK_ORDER_NUMBER', 'WEBHOOK_CODE', 'WEBHOOK_SIGNATURE'); if ($isValid) { print_r("Signature is valid." . PHP_EOL . PHP_EOL); // Get Payment Details with OrderId provided by your app. $details = $natcash->getTransactionDetailsByOrderId($orderNumber); } else { print_r("Signature is invalid." . PHP_EOL); }
Contributing
You have a lot of options to contribute to this project ! You can :