public function test_invalid_field() { $hash_in = array('paypal' => array("payerId" => '123', "token" => '12321312', "transactionId" => '123123'), 'id' => '1211', 'orderId' => '2111', 'nonexistant' => 'novalue', 'reportGroup' => 'Planets', 'orderSource' => 'ecommerce', 'amount' => '123'); $initilaize = new LitleOnlineRequest(); $saleResponse = $initilaize->saleRequest($hash_in); $message = XmlParser::getNode($saleResponse, 'message'); $this->assertEquals('Approved', $message); }
public function test_sale_with_applepay() { $hash_in = array('applepay' => array('data' => 'string data here', 'header' => 'header stuff here', 'signature' => 'signature', 'version' => 'version 1'), 'orderId' => '2111', 'orderSource' => 'ecommerce', 'id' => '654', 'amount' => '123'); $mock = $this->getMock('litle\\sdk\\LitleXmlMapper'); $mock->expects($this->once())->method('request')->with($this->matchesRegularExpression('/.*<applepay><data>string data here.*<header>header stuff here.*<signature>signature.*<version>version 1.*/')); $litleTest = new LitleOnlineRequest(); $litleTest->newXML = $mock; $litleTest->saleRequest($hash_in); }
public function test_advancedFraudChecks_withoutThreatMetrixSessionId() { //In 8.23, threatMetrixSessionId is optional, but really should be required. //It will be required in 8.24, so I'm making it required here in the schema. //There is no good reason to send an advancedFraudChecks element without a threatMetrixSessionId. $hash_in = array('card' => array('type' => 'VI', 'number' => '4100000000000001', 'expDate' => '1213'), 'orderId' => '12344', 'amount' => '2', 'orderSource' => 'ecommerce', 'debtRepayment' => 'true', 'advancedFraudChecks' => array()); $litleTest = new LitleOnlineRequest(); $this->setExpectedException('InvalidArgumentException', 'Missing Required Field: /threatMetrixSessionId/'); $retOb = $litleTest->saleRequest($hash_in); }
function test_5_sale() { $sale_hash = array('id' => '1211', 'orderId' => '5', 'amount' => '50050', 'orderSource' => 'ecommerce', 'card' => array('number' => '4457010200000007', 'expDate' => '0512', 'cardValidationNum' => '463', 'type' => 'VI'), 'cardholderAuthentication' => array('authenticationValue' => 'BwABBJQ1AgAAAAAgJDUCAAAAAAA=')); $initilaize = new LitleOnlineRequest(); $saleResponse = $initilaize->saleRequest($sale_hash); $this->assertEquals('000', XmlParser::getNode($saleResponse, 'response')); $this->assertEquals('Approved', XmlParser::getNode($saleResponse, 'message')); $this->assertEquals('55555 ', XmlParser::getNode($saleResponse, 'authCode')); $this->assertEquals('32', XmlParser::getNode($saleResponse, 'avsResult')); $this->assertEquals('N', XmlParser::getNode($saleResponse, 'cardValidationResult')); //test 5B $credit_hash = array('id' => '1211', 'litleTxnId' => XmlParser::getNode($saleResponse, 'litleTxnId'), 'reportGroup' => 'planets'); $initilaize = new LitleOnlineRequest(); $creditResponse = $initilaize->creditRequest($credit_hash); $this->assertEquals('001', XmlParser::getNode($creditResponse, 'response')); $this->assertEquals('Transaction Received', XmlParser::getNode($creditResponse, 'message')); //test 5C $void_hash = array('id' => '1211', 'litleTxnId' => XmlParser::getNode($creditResponse, 'litleTxnId'), 'reportGroup' => 'planets'); $initilaize = new LitleOnlineRequest(); $voidResponse = $initilaize->voidRequest($void_hash); $this->assertEquals('001', XmlParser::getNode($voidResponse, 'response')); $this->assertEquals('Transaction Received', XmlParser::getNode($voidResponse, 'message')); }
public function test_9_sale() { $sale_hash = array('orderId' => '9', 'amount' => '90090', 'orderSource' => 'ecommerce', 'billToAddress' => array('name' => 'James Miller', 'addressLine1' => '9 Main St.', 'city' => 'Boston', 'state' => 'MA', 'zip' => '02134', 'country' => 'US'), 'card' => array('number' => '375001010000003', 'expDate' => '0912', 'cardValidationNum' => '0421', 'type' => 'AX')); $initilaize = new LitleOnlineRequest(); $saleResponse = $initilaize->saleRequest($sale_hash); $this->assertEquals('303', XmlParser::getNode($saleResponse, 'response')); $this->assertEquals('Pick Up Card', XmlParser::getNode($saleResponse, 'message')); $this->assertEquals('34', XmlParser::getNode($saleResponse, 'avsResult')); }
public function test_pos_with_invalid_entryMode() { $hash_in = array('merchantId' => '101', 'version' => '8.8', 'reportGroup' => 'Planets', 'orderId' => '12344', 'amount' => '106', 'orderSource' => 'ecommerce', 'pos' => array('entryMode' => 'none', 'cardholderId' => 'pin', 'capability' => 'notused'), 'card' => array('type' => 'VI', 'number' => '4100000000000000', 'expDate' => '1210')); $initilaize = new LitleOnlineRequest(); $saleResponse = $initilaize->saleRequest($hash_in); $message = XmlParser::getAttribute($saleResponse, 'litleOnlineResponse', 'message'); $this->assertRegExp('/Error validating xml data against the schema/', $message); }
/** * Make a sale API request. * * This method wraps the LitleOnlineRequest. * * @param array $hash_in * The request data. * * @return DOMDocument|SimpleXMLElement * The response. */ public function saleRequest($hash_in) { return $this->request->saleRequest($hash_in); }
public function test_simple_sale_with_AdvancedFraudCheckWithCustomAttribute() { $hash_in = array('card' => array('type' => 'VI', 'number' => '4100000000000000', 'expDate' => '1213', 'cardValidationNum' => '1213'), 'id' => '654', 'orderId' => '2111', 'orderSource' => 'ecommerce', 'amount' => '123', 'advancedFraudChecks' => array('threatMetrixSessionId' => 'abc123', 'customAttribute1' => '1', 'customAttribute2' => '2', 'customAttribute3' => '3', 'customAttribute4' => '4', 'customAttribute5' => '5')); $initilaize = new LitleOnlineRequest(); $saleResponse = $initilaize->saleRequest($hash_in); $response = XmlParser::getNode($saleResponse, 'response'); $this->assertEquals('000', $response); }