public static function initStatics() { /* WARNING: resource paths for Bf_AuthorizeNetTokens do not follow the usual pattern; * instead of posting to 'root' of a URL root reserved for Bf_AuthorizeNetTokens, * this routing is a bit less standard; for example we can't GET from the same * place we POST to. */ self::$_resourcePath = new Bf_ResourcePath('vaulted-gateways/authorize-net', 'authorizeNetToken'); }
$email = getUsualAccountsProfileEmail(); $profile = new Bf_Profile(array('email' => $email, 'firstName' => 'Test')); $account = new Bf_Account(array('profile' => $profile)); $createdAcc = Bf_Account::create($account); $createdAccID = $createdAcc->id; //-- make payment method, and associate it with account //-- make Authorize.net token to associate payment method to // FILL IN WITH YOUR AUTHORIZE.NET CUSTOMER PROFILE ID $customerProfileID = 00; // FILL IN WITH YOUR AUTHORIZE.NET CUSTOMER PAYMENT PROFILE ID $customerPaymentProfileID = 00; // FILL IN WITH YOUR AUTHORIZE.NET CUSTOMER'S CARD LAST 4 DIGITS // this 'last 4 digits of credit card number' field (currently optional) is required for refunds $cardLast4Digits = 00; $authorizeNetToken = new Bf_AuthorizeNetToken(array('accountID' => $createdAccID, 'customerProfileID' => $customerProfileID, 'customerPaymentProfileID' => $customerPaymentProfileID, 'lastFourDigits' => $cardLast4Digits)); $createdAuthorizeNetToken = Bf_AuthorizeNetToken::create($authorizeNetToken); $createdAuthorizeNetTokenID = $createdAuthorizeNetToken->id; $paymentMethod = new Bf_PaymentMethod(array('linkID' => $createdAuthorizeNetTokenID, 'accountID' => $createdAccID, 'name' => 'Authorize.Net', 'description' => 'Pay via Authorize.Net', 'gateway' => 'authorizeNet', 'userEditable' => 0, 'priority' => 100, 'reusable' => 1)); $createdPaymentMethod = Bf_PaymentMethod::create($paymentMethod); $createdPaymentMethodID = $createdPaymentMethod->id; $paymentMethods = array($createdPaymentMethod); // add these payment methods to our model of the created account $createdAcc->paymentMethods = $paymentMethods; // save changes to real account $createdAcc = $createdAcc->save(); var_export($createdAcc); //-- Make unit of measure $uom = new Bf_UnitOfMeasure(array('name' => 'Devices', 'displayedAs' => 'Devices', 'roundingScheme' => 'UP')); $createdUom = Bf_UnitOfMeasure::create($uom); $createdUomID = $createdUom->id; //-- Make product
/** * @depends testUpdateCascade */ public function testAddAnotherDefaultPaymentMethod() { $account = self::$createdAccount; $customerProfileID = TestBase::getSituation('customerProfileID'); $customerPaymentProfileID = TestBase::getSituation('customerPaymentProfileID'); // err, didn't check what the actual card last 4 digits are. but this only matters at refund-time. $cardLast4Digits = TestBase::getSituation('cardLast4Digits') + 1; $authorizeNetToken = new Bf_AuthorizeNetToken(array('accountID' => $account->id, 'customerProfileID' => $customerProfileID, 'customerPaymentProfileID' => $customerPaymentProfileID, 'lastFourDigits' => $cardLast4Digits)); $createdAuthorizeNetToken = Bf_AuthorizeNetToken::create($authorizeNetToken); $createdAuthorizeNetTokenID = $createdAuthorizeNetToken->id; $isDefault = true; $paymentMethodModel = new Bf_PaymentMethod(array('linkID' => $createdAuthorizeNetToken->id, 'accountID' => $account->id, 'name' => 'Authorize.Net', 'description' => $cardLast4Digits, 'gateway' => 'authorizeNet', 'userEditable' => 0, 'priority' => 100, 'reusable' => 1, 'defaultPaymentMethod' => $isDefault)); $createdPaymentMethod = Bf_PaymentMethod::create($paymentMethodModel); $expected = $isDefault; $actual = $createdPaymentMethod->defaultPaymentMethod; $this->assertEquals($expected, $actual, "Payment method begins as default."); }