/** * @param $stripeToken * @param $apiPrivKey * @return StripeTokenMock|Token */ function tokenRetrieve($stripeToken, $apiPrivKey) { if (self::$testMode) { return StripeTokenMock::retrieve($stripeToken, $apiPrivKey); } else { return Token::retrieve($stripeToken, $apiPrivKey); } }
/** * @param Basket $uns * @param $successOutput */ protected function succeedOnAllCountriesMatch($uns, &$successOutput) { // GB card + GB address + GB IP, should succeed StripeTokenMock::$typeSetting = 'card'; StripeTokenMock::$cardCountrySetting = (object) ['country' => 'GB']; $uns->updateView(['transactionSuccessCallback' => $this->successCallback]); $execOut = $uns->render("billingAddress.setAddress", ['addressLine1' => 'addressLine1', 'addressLine2' => 'addressLine2', 'townOrCity' => 'townOrCity', 'stateOrRegion' => 'stateOrRegion', 'postCode' => 'postCode', 'countryCode' => 'GB'])->content; $uns->updateView(['transactionSuccessCallback' => $this->successCallback]); $execOut = $uns->render("stripe.submitForm", ['stripeToken' => "TESTTOKEN"])->content; $expected = ['clientName' => null, 'billingAddress' => "addressLine1\naddressLine2\ntownOrCity\nstateOrRegion\npostCode\nUnited Kingdom", 'clientEmail' => null, 'transactionDescription' => 'Brief description of basket contents.', 'transactionDetailLegacy' => null, 'transactionDetailRaw' => '[ { "description": "Some online service", "netPrice": 100, "vatPerItem": 20, "vatTypeCharged": "customer", "isB2b": false, "quantity": 1, "productType": "electronicservices", "enjoyedInLocationType": "local" } ]', 'chargeID' => 'TestStripeID', 'paymentCountryCode' => 'GB', 'paymentType' => 'card', 'testMode' => true, 'vatNumberStatus' => 'notchecked', 'vatNumberGiven' => null, 'validationError' => NULL, 'vatAmount' => 20.0, 'vatNumberGivenCountryCode' => null, 'transactionAmount' => 120.0, 'transactionCurrency' => "GBP", 'transactionAmount' => 120.0, 'billingAddressCountryCode' => 'GB', 'ipCountryCode' => 'GB', 'time' => null]; ksort($expected); $expectedString = "<div id=\"component-basket\">\n " . var_export($expected, true) . "\n</div>\n"; $this->assertEquals($expectedString, $execOut); }