Authorization – Initiate a Payment with a Card Token
Important:
To use Authorization, you must have a valid card token.
You can generate one by visiting the Recurring Payments section.
Please NOTE
For IPCAuthorization usage, a card token is required. To generate one, please visit Recurring payments.
Step 1: Load the SDK
This will autoload necessary library files and classes.
require_once './IPC/Loader.php';
Step 2: Configure API Access
The IpcURL is different for sandbox and production environments.
You can use the automatic Configuration package or set manually keyIndex, sid, wallet and RSA keys (for request signatures by setting key content using setPrivateKey and setAPIPublicKey or by setting file path using setPrivateKeyPath and setAPIPublicKeyPath).
For more information, please refer to the IPCAuthorization method documentation.
Configuration package:
$cnf = new \Mypos\IPC\Config();
$cnf->setIpcURL('https://mypos.com/vmp/checkout-test/');
$cnf->setLang('en');
$cnf->setVersion('1.4');
$configurationPackage = 'your-generated-package-token';
$cnf->loadConfigurationPackage($configurationPackage);
RSA Key pair:
$cnf = new \Mypos\IPC\Config();
$cnf->setIpcURL('https://mypos.com/vmp/checkout-test/');
$cnf->setLang('en');
$cnf->setVersion('1.4');
$cnf->setPrivateKeyPath(dirname(__FILE__) . '/keys/store_private_key.pem');
$cnf->setAPIPublicKeyPath(dirname(__FILE__) . '/keys/api_public_key.pem');
$cnf->setEncryptPublicKeyPath(dirname(__FILE__) . '/keys/encrypt_key.pem');
$cnf->setKeyIndex(1);
$cnf->setSid('000000000000010');
$cnf->setWallet('61938166610');
EncryptPublicKey is the same as APIPublicKey and is required to encrypt sensitive card details.
Step 3: Create the Authorization Object
Use your config and set all required parameters:
$authorization = new \Mypos\IPC\Authorization($cnf);
$authorization->setOrderID(uniqid()); // Some unique ID
$authorization->setItemName('Some Book'); // Item contained in your authorization
$authorization->setAmount(24.50); // Total amount of your authorization
$authorization->setCurrency('EUR');
$authorization->setNote('Some note'); // Not required
$authorization->setCard($card);
$authorization->setOutputFormat(Mypos\IPC\Defines::COMMUNICATION_FORMAT_JSON);
Step 4: Send the Request
Process the authorization request:
$result = $authorization->process();
if ($result->getStatus() == \Mypos\IPC\Defines::STATUS_SUCCESS) {
echo 'success';
// Success
} else {
// Show error.
}