ekyna / payum-monetico
Payum Monetico (Credit Mutuel/CIC) gateway
Installs: 59 591
Dependents: 3
Suggesters: 0
Security: 0
Stars: 9
Watchers: 5
Forks: 8
Open Issues: 0
Type:component
Requires
- ext-json: *
- payum/core: ^1.5
- psr/log: ^1.0|^2.0|^3.0
- sokil/php-isocodes: ^2.0|^3.0
- symfony/options-resolver: ^5.4|^6.0
Requires (Dev)
- php-http/guzzle7-adapter: ^1.0
- php-http/message-factory: ^1.1
- phpunit/phpunit: ^8.0|^9.0
README
Payum Monetico (Credit Mutuel/CIC/OBC) payment gateway.
Installation / Configuration
composer req ekyna/payum-monetico
use Ekyna\Component\Payum\Monetico\Api\Api; use Ekyna\Component\Payum\Monetico\MoneticoGatewayFactory; $factory = new MoneticoGatewayFactory(); $gateway = $factory->create([ 'mode' => Api::MODE_PRODUCTION, 'tpe' => '123456', 'key' => '123456', 'company' => 'foobar', ]); // Register your convert payment action // $gateway->addAction(new \Acme\ConvertPaymentAction());
Create your convert action
See src/Action/ConvertPaymentAction.php sample.
Create your notify controller
Example (Symfony):
public function notifyAction(Request $request) { // Get the reference you set in your ConvertAction if (null === $reference = $request->request->get('reference')) { throw new NotFoundHttpException(); } // Find your payment entity $payment = $this ->get('acme.repository.payment') ->findOneBy(['number' => $reference]); if (null === $payment) { throw new NotFoundHttpException(); } $payum = $this->get('payum'); // Execute notify & status actions. $gateway = $payum->getGateway('monetico'); $gateway->execute(new Notify($payment)); $gateway->execute(new GetHumanStatus($payment)); // Get the payment identity $identity = $payum->getStorage($payment)->identify($payment); // Invalidate payment tokens $tokens = $payum->getTokenStorage()->findBy([ 'details' => $identity, ]); foreach ($tokens as $token) { $payum->getHttpRequestVerifier()->invalidate($token); } // Return expected response return new Response(\Ekyna\Component\Payum\Monetico\Api\Api::NOTIFY_SUCCESS); }