public function aValidProcessor() { $object = Payment_Process2::factory('Dummy'); $object->amount = 1; $object->_typeFieldMap = array('eCheck' => array('bankName' => 'xyz')); return $object; }
public function testShouldCompleteTransaction() { $mock = new HTTP_Request2_Adapter_Mock(); $mock->addResponse('HTTP/1.1 200 OK'); $request = new HTTP_Request2(); $request->setAdapter($mock); $object = Payment_Process2::factory('Dummy'); $object->login = '******'; $object->password = '******'; $object->action = Payment_Process2::ACTION_NORMAL; $object->amount = 1; $object->setRequest($request); $object->setPayment($this->aValidPayment()); $result = $object->process(); $this->assertTrue($result instanceof Payment_Process2_Result_Dummy); }
public function testShouldFailGracefullyOnFailedTransaction() { $mock = new HTTP_Request2_Adapter_Mock(); $mock->addResponse('HTTP/1.1 404 Not Found'); $request = new HTTP_Request2(); $request->setAdapter($mock); $object = Payment_Process2::factory('PayPal'); $object->login = '******'; $object->password = '******'; $object->amount = 1; $object->action = Payment_Process2::ACTION_NORMAL; $object->setRequest($request); $object->setPayment($this->aValidPayment()); $result = $object->process(); $this->assertTrue($result instanceof PEAR_Error); }
public function testShouldRaiseErrorsIfNoPaymentTypeIsAvailableWhenProcessing() { $object = Payment_Process2::factory('TrustCommerce'); try { $object->login = '******'; $object->password = '******'; $object->amount = 1; $object->action = Payment_Process2::ACTION_NORMAL; $object->process(); $this->fail("An exception should have been raised"); } catch (Payment_Process2_Exception $e) { $this->assertSame("Payment type not set", $e->getMessage()); } }
<?php require_once 'Payment/Process2.php'; require_once 'HTTP/Request2.php'; $options = array(); $options['debug'] = TRUE; $request = new HTTP_Request2(); $request->setConfig('ssl_verify_peer', false); // Remove this line if using in production, install the certificate $process = Payment_Process2::factory('TrustCommerce', $options); $process->setRequest($request); $process->_debug = true; $process->login = '******'; $process->password = '******'; $process->action = Payment_Process2::ACTION_NORMAL; $process->amount = 99.98999999999999; $card = Payment_Process2_Type::factory('CreditCard'); $card->setDate(strtotime('2004-01-01')); $card->type = Payment_Process2_Type::CC_VISA; $card->cardNumber = '4111111111111111'; $card->expDate = '01/2005'; $process->setPayment($card); $result = $process->process(); echo 'Processor result: ' . "\n"; echo $result->getCode() . " - "; echo $result->getMessage() . "\n";
public function testShouldRaiseErrorWithUnknownTypes() { try { $object = Payment_Process2::factory('Duck'); $this->fail("Expected an exception"); } catch (Payment_Process2_Exception $ppe) { } }
public function testShouldFailGracefullyOnFailedTransaction() { $mock = new HTTP_Request2_Adapter_Mock(); $mock->addResponse('HTTP/1.1 404 Not Found'); $request = new HTTP_Request2(); $request->setAdapter($mock); $options = array('keyfile' => __FILE__, 'authorizeUri' => "http://google.com/"); $object = Payment_Process2::factory('LinkPoint', $options); $object->login = '******'; $object->password = '******'; $object->amount = 1; $object->action = Payment_Process2::ACTION_NORMAL; $object->setRequest($request); $object->setPayment($this->aValidPayment()); $result = $object->process(); $this->assertTrue($result instanceof PEAR_Error); }
public function testShouldValidateCorrectlyWithCvvCheck3() { $processor = Payment_Process2::factory('Dummy'); $processor->setOption('cvvCheck', true); $processor->setPayment($this->aValidPayment()); $r = new Payment_Process2_Result(null, $processor); $r->_statusCodeMap[null] = Payment_Process2::RESULT_APPROVED; $r->_cvvCodeMap[1] = Payment_Process2::CVV_MATCH; $r->cvvCode = 2; $this->assertNotSame(Payment_Process2::CVV_MATCH, $r->getCvvCode()); try { $r->validate(); $this->fail("Expected an exception: We haven't got a valid Cvv code set"); } catch (Payment_Process2_Exception $ppe) { } }
public function testShouldFailGracefullyOnFailedTransaction() { $response = new HTTP_Request2_Response('HTTP/1.1 200 OK'); $response->appendBody(file_get_contents(dirname(__FILE__) . '/data/AuthorizeNet/error.html')); $mock = new HTTP_Request2_Adapter_Mock(); $mock->addResponse($response); $request = new HTTP_Request2(); $request->setAdapter($mock); $object = Payment_Process2::factory('AuthorizeNet'); $object->login = '******'; $object->password = '******'; $object->amount = 1; $object->action = Payment_Process2::ACTION_NORMAL; $object->setRequest($request); $object->setPayment($this->aValidPayment()); $result = $object->process(); $this->assertTrue($result instanceof PEAR_Error); }
public function testShouldAlwaysRequireATransactionReference() { $payment = Payment_Process2::factory('ANZ'); $payment->action = Payment_Process2::ACTION_NORMAL; $payment->amount = 123.0; $payment->setPayment($this->aMockANZCard()); try { $payment->validate(); $this->fail("Expected an exception because we haven't got anything for vpc_MerchTxnRef"); } catch (Payment_Process2_Exception $ppe) { $this->assertSame("Missing transaction reference", $ppe->getMessage()); } }