public function testMagicMethods()
 {
     $manager = new GatewayManager($this->config);
     $manager->extend('example', function () {
         return new ExampleProvider();
     });
     $manager->setDefaultProvider('example');
     $response = $manager->callPaymentRequest(new \Laratalks\PaymentGateways\ValueObjects\PaymentRequestNeeds());
     $this->assertTrue($response instanceof PaymentRequestResponse);
 }
Beispiel #2
0
 * you can create new PaymentRequestNeeds
 * and customize it for your own provider
 *
 * for more information read Default payment providers
 */
$requestNeeds = new PaymentRequestNeeds();
$requestNeeds->setAmount(1000);
$requestNeeds->setReturnUrl('YOUR_CALLBACK_URL');
$requestNeeds->set('attr', 'value');
// Call with provider name
// by this, you can change provider on-the-fly
$manager->provider('example')->callPaymentRequest($requestNeeds);
// OR set provider as default provider
// this set example as default provider
// and you can call provider methods directly from manager
$manager->setDefaultProvider('example');
$response = $manager->callPaymentRequest($requestNeeds);
$verifyNeeds = new PaymentNeeds();
$verifyNeeds->set('amount', 1000);
$verifyNeeds->set('payment_id', 15415648);
$response = $manager->callPaymentVerify($verifyNeeds);
// Zarinpal example
$provider = $manager->provider('zarinpal');
// create payment request:
$requestNeeds = new PaymentRequestNeeds();
$requestNeeds->setAmount(1000)->setReturnUrl('http://some_url')->set('description', 'some description')->set('mobile', 'YOUR_PHONE_NUMBER')->set('email', 'YOUR_EMAIL_ADDRESS');
// optional
$response = $manager->provider('zarinpal')->callPaymentRequest($requestNeeds);
$redirectUrl = $response->getPaymentUrl();
// each  request responses has  this method
// save the Authority to database