Encrypt gateway configs stored in database
$ composer require defuse/php-encryption:^2<?php
namespace Acme;
use Payum\Core\Storage\CryptoStorageDecorator;
use Payum\Core\PayumBuilder;
use Payum\Core\Payum;
/** @var \Payum\Core\Storage\StorageInterface $realStorage */
// the secret has to be stored somewhere and used for all future usages.
$secret = \Defuse\Crypto\Key::createNewRandomKey()->saveToAsciiSafeString();
$cypher = new \Payum\Core\Bridge\Defuse\Security\DefuseCypher($secret);
$gatewayConfigStorage = new CryptoStorageDecorator($realStorage, $cypher);
/** @var Payum $payum */
$payum = (new PayumBuilder())
->setGatewayConfigStorage($gatewayConfigStorage)
->getPayum()
;Supporting Payum
Last updated