codeconjure / simplepay-payum
OTP SimplePay v2 Payum gateway with Symfony bundle
dev-main
2026-04-11 13:29 UTC
Requires
- php: ^8.1
- payum/core: ^1.7
- php-http/discovery: ^1.0
- psr/http-client: ^1.0
- psr/http-factory: ^1.0
Requires (Dev)
- nyholm/psr7: ^1.0
- php-http/mock-client: ^1.6
- phpunit/phpunit: ^11.0
- symfony/framework-bundle: ^7.0
Suggests
- nyholm/psr7: Lightweight PSR-7 implementation
- symfony/http-client: Symfony HTTP client PSR-18 adapter
This package is auto-updated.
Last update: 2026-04-11 14:26:25 UTC
README
OTP SimplePay v2 Payum gateway with Symfony bundle support.
Features
- Payment initiation with GET redirect to SimplePay
- Return URL handling with HMAC signature verification
- IPN (Instant Payment Notification) handler
- Refund support
- Symfony bundle with PayumBundle auto-configuration
Installation
composer require codeconjure/simplepay-payum
A PSR-18 HTTP client is required at runtime. Install one of:
composer require symfony/http-client nyholm/psr7
# or
composer require guzzlehttp/guzzle php-http/guzzle7-adapter
Configuration (Symfony + PayumBundle)
Bundle registration
If your application does not use Symfony Flex, register the bundle manually in config/bundles.php:
return [ // ... CodeConjure\SimplePayPayum\Bundle\SimplePayBundle::class => ['all' => true], ];
# config/packages/payum.yaml payum: gateways: simplepay: factory: simplepay merchant_id: '%env(SIMPLEPAY_MERCHANT_ID)%' secret_key: '%env(SIMPLEPAY_SECRET_KEY)%' sandbox: '%env(bool:SIMPLEPAY_SANDBOX)%'
SIMPLEPAY_MERCHANT_ID=MERCHANTID001 SIMPLEPAY_SECRET_KEY=FxDa5w314kLlNseq2sKuVwaqZshZT5d6 SIMPLEPAY_SANDBOX=true
Payment details
Set the return and IPN URLs in the payment details before capture:
$payment->setDetails([ 'url' => [ 'success' => $captureUrl . '?simplepay_result=SUCCESS', 'fail' => $captureUrl . '?simplepay_result=FAIL', 'cancel' => $captureUrl . '?simplepay_result=CANCEL', 'timeout' => $captureUrl . '?simplepay_result=TIMEOUT', 'dn' => $notifyUrl, ], ]);
Where $captureUrl is the Payum capture token URL and $notifyUrl is the Payum notify token URL.
Status mapping
| SimplePay status | Payum status |
|---|---|
COMPLETE |
Captured |
WAITING, IN_PAYMENT |
Pending |
CANCELLED |
Canceled |
TIMEOUT |
Expired |
REFUND, REFUND_PARTIAL |
Refunded |
FRAUD, CARD_DECLINED, ERROR |
Failed |
License
MIT