function testCreate_canSetTheMerchantAccountId() { $creditCard = Braintree_SubscriptionTestHelper::createCreditCard(); $plan = Braintree_SubscriptionTestHelper::triallessPlan(); $result = Braintree_Subscription::create(array('paymentMethodToken' => $creditCard->token, 'planId' => $plan['id'], 'merchantAccountId' => Braintree_TestHelper::nonDefaultMerchantAccountId())); $this->assertTrue($result->success); $subscription = $result->subscription; $this->assertEquals(Braintree_TestHelper::nonDefaultMerchantAccountId(), $subscription->merchantAccountId); }
function testCreateWithDeprecatedParameters() { Braintree_TestHelper::suppressDeprecationWarnings(); $result = Braintree_MerchantAccount::create(self::$deprecatedValidParams); $this->assertEquals(true, $result->success); $merchantAccount = $result->merchantAccount; $this->assertEquals(Braintree_MerchantAccount::STATUS_PENDING, $merchantAccount->status); $this->assertEquals("sandbox_master_merchant_account", $merchantAccount->masterMerchantAccount->id); }
function testGenerate_canBeGroupedByACustomField() { $transaction = Braintree_Transaction::saleNoValidate(array('amount' => '100.00', 'creditCard' => array('number' => '5105105105105100', 'expirationDate' => '05/12'), 'customFields' => array('store_me' => 'custom value'), 'options' => array('submitForSettlement' => true))); Braintree_TestHelper::settle($transaction->id); $today = new Datetime(); $result = Braintree_SettlementBatchSummary::generate(Braintree_TestHelper::nowInEastern(), 'store_me'); $this->assertTrue($result->success); $this->assertTrue(count($result->settlementBatchSummary->records) > 0); $this->assertArrayHasKey('store_me', $result->settlementBatchSummary->records[0]); }
function testIn_multipleValues() { $creditCard = Braintree_SubscriptionTestHelper::createCreditCard(); $triallessPlan = Braintree_SubscriptionTestHelper::triallessPlan(); $activeSubscription = Braintree_Subscription::create(array('paymentMethodToken' => $creditCard->token, 'planId' => $triallessPlan['id'], 'price' => '4'))->subscription; $canceledSubscription = Braintree_Subscription::create(array('paymentMethodToken' => $creditCard->token, 'planId' => $triallessPlan['id'], 'price' => '4'))->subscription; Braintree_Subscription::cancel($canceledSubscription->id); $collection = Braintree_Subscription::search(array(Braintree_SubscriptionSearch::status()->in(array(Braintree_Subscription::ACTIVE, Braintree_Subscription::CANCELED)), Braintree_SubscriptionSearch::price()->is('4'))); $this->assertTrue(Braintree_TestHelper::includes($collection, $activeSubscription)); $this->assertTrue(Braintree_TestHelper::includes($collection, $canceledSubscription)); }
function testContains() { $creditCard = Braintree_SubscriptionTestHelper::createCreditCard(); $triallessPlan = Braintree_SubscriptionTestHelper::triallessPlan(); $trialPlan = Braintree_SubscriptionTestHelper::trialPlan(); $trialSubscription = Braintree_Subscription::create(array('paymentMethodToken' => $creditCard->token, 'planId' => $trialPlan['id'], 'price' => '9'))->subscription; $triallessSubscription = Braintree_Subscription::create(array('paymentMethodToken' => $creditCard->token, 'planId' => $triallessPlan['id'], 'price' => '9'))->subscription; $collection = Braintree_Subscription::search(array(Braintree_SubscriptionSearch::planId()->contains("ration_trial_pl"), Braintree_SubscriptionSearch::price()->is("9"))); $this->assertTrue(Braintree_TestHelper::includes($collection, $trialSubscription)); $this->assertFalse(Braintree_TestHelper::includes($collection, $triallessSubscription)); }
public function nonceForPayPalAccount($options) { $clientToken = json_decode(Braintree_TestHelper::decodedClientToken()); $options["authorization_fingerprint"] = $clientToken->authorizationFingerprint; $response = $this->post('/client_api/v1/payment_methods/paypal_accounts.json', json_encode($options)); if ($response["status"] == 201 || $response["status"] == 202) { $body = json_decode($response["body"], true); return $body["paypalAccounts"][0]["nonce"]; } else { throw new Exception(var_dump($response)); } }
public static function createViaTr($regularParams, $trParams) { $trData = Braintree_TransparentRedirect::transactionData(array_merge($trParams, array("redirectUrl" => "http://www.example.com"))); return Braintree_TestHelper::submitTrRequest(TransparentRedirect::url(), $regularParams, $trData); }
function updateCustomerViaTr($regularParams, $trParams) { Braintree_TestHelper::suppressDeprecationWarnings(); $trData = Braintree_TransparentRedirect::updateCustomerData(array_merge($trParams, array("redirectUrl" => "http://www.example.com"))); return Braintree_TestHelper::submitTrRequest(Braintree_Customer::updateCustomerUrl(), $regularParams, $trData); }
function createEscrowedTransaction() { $result = Braintree_Transaction::sale(array('merchantAccountId' => Braintree_TestHelper::nonDefaultSubMerchantAccountId(), 'amount' => '100.00', 'creditCard' => array('number' => '5105105105105100', 'expirationDate' => '05/12'), 'options' => array('holdInEscrow' => true), 'serviceFeeAmount' => '1.00')); Braintree_TestHelper::escrow($result->transaction->id); return $result->transaction; }
function testUpdateCreditCardFromTransparentRedirect() { $customer = Braintree_Customer::create(array('firstName' => 'Mike', 'lastName' => 'Jonez'))->customer; $creditCard = Braintree_CreditCard::create(array('customerId' => $customer->id, 'number' => Braintree_Test_CreditCardNumbers::$masterCard, 'expirationMonth' => '10', 'expirationYear' => '10'))->creditCard; $params = array('credit_card' => array('number' => Braintree_Test_CreditCardNumbers::$visa)); $trParams = array('paymentMethodToken' => $creditCard->token, 'creditCard' => array('expirationMonth' => '11', 'expirationYear' => '11')); $trData = Braintree_TransparentRedirect::updateCreditCardData(array_merge($trParams, array("redirectUrl" => "http://www.example.com"))); $queryString = Braintree_TestHelper::submitTrRequest(Braintree_TransparentRedirect::url(), $params, $trData); Braintree_TransparentRedirect::confirm($queryString); $creditCard = Braintree_CreditCard::find($creditCard->token); $this->assertequals('401288', $creditCard->bin); $this->assertequals('1881', $creditCard->last4); $this->assertequals('11/2011', $creditCard->expirationDate); }
function testIncludeProcessorSettlementResponseForSettlementPendingTransaction() { $result = Braintree_Transaction::sale(array("paymentMethodNonce" => Braintree_Test_Nonces::$paypalFuturePayment, "amount" => "100", "options" => array("submitForSettlement" => true))); $this->assertTrue($result->success); $transaction = $result->transaction; Braintree_TestHelper::settlementPending($transaction->id); $inline_transaction = Braintree_Transaction::find($transaction->id); $this->assertEquals($inline_transaction->status, Braintree_Transaction::SETTLEMENT_PENDING); $this->assertEquals($inline_transaction->processorSettlementResponseCode, "4002"); $this->assertEquals($inline_transaction->processorSettlementResponseText, "Settlement Pending"); }
function testSearch_price() { $creditCard = Braintree_SubscriptionTestHelper::createCreditCard(); $triallessPlan = Braintree_SubscriptionTestHelper::triallessPlan(); $subscription_850 = Braintree_Subscription::create(array('paymentMethodToken' => $creditCard->token, 'planId' => $triallessPlan['id'], 'price' => '8.50'))->subscription; $subscription_851 = Braintree_Subscription::create(array('paymentMethodToken' => $creditCard->token, 'planId' => $triallessPlan['id'], 'price' => '8.51'))->subscription; $subscription_852 = Braintree_Subscription::create(array('paymentMethodToken' => $creditCard->token, 'planId' => $triallessPlan['id'], 'price' => '8.52'))->subscription; $collection = Braintree_Subscription::search(array(Braintree_SubscriptionSearch::price()->between('8.51', '8.52'))); $this->assertTrue(Braintree_TestHelper::includes($collection, $subscription_851)); $this->assertTrue(Braintree_TestHelper::includes($collection, $subscription_852)); $this->assertFalse(Braintree_TestHelper::includes($collection, $subscription_850)); }
function testSearch_transactionId() { $creditCard = Braintree_SubscriptionTestHelper::createCreditCard(); $triallessPlan = Braintree_SubscriptionTestHelper::triallessPlan(); $matchingSubscription = Braintree_Subscription::create(array('paymentMethodToken' => $creditCard->token, 'planId' => $triallessPlan['id']))->subscription; $nonMatchingSubscription = Braintree_Subscription::create(array('paymentMethodToken' => $creditCard->token, 'planId' => $triallessPlan['id']))->subscription; $collection = Braintree_Subscription::search(array(Braintree_SubscriptionSearch::transactionId()->is($matchingSubscription->transactions[0]->id))); $this->assertTrue(Braintree_TestHelper::includes($collection, $matchingSubscription)); $this->assertFalse(Braintree_TestHelper::includes($collection, $nonMatchingSubscription)); }
function test_ClientTokenAcceptsMerchantAccountId() { $clientToken = Braintree_TestHelper::decodedClientToken(array('merchantAccountId' => 'my_merchant_account')); $merchantAccountId = json_decode($clientToken)->merchantAccountId; $this->assertEquals('my_merchant_account', $merchantAccountId); }
function testCreate_respectsVerifyCardAndVerificationMerchantAccountIdWhenIncludedOutsideOfTheNonce() { $nonce = Braintree_HttpClientApi::nonce_for_new_card(array('credit_card' => array('number' => '4000111111111115', 'expirationMonth' => '11', 'expirationYear' => '2099'))); $customer = Braintree_Customer::createNoValidate(); $result = Braintree_PaymentMethod::create(array('paymentMethodNonce' => $nonce, 'customerId' => $customer->id, 'options' => array('verifyCard' => 'true', 'verificationMerchantAccountId' => Braintree_TestHelper::nonDefaultMerchantAccountId()))); $this->assertFalse($result->success); $this->assertEquals(Braintree_Result_CreditCardVerification::PROCESSOR_DECLINED, $result->creditCardVerification->status); $this->assertEquals('2000', $result->creditCardVerification->processorResponseCode); $this->assertEquals('Do Not Honor', $result->creditCardVerification->processorResponseText); $this->assertEquals(Braintree_TestHelper::nonDefaultMerchantAccountId(), $result->creditCardVerification->merchantAccountId); }
function updateCreditCardViaTr($regularParams, $trParams) { $trData = Braintree_TransparentRedirect::updateCreditCardData(array_merge($trParams, array("redirectUrl" => "http://www.example.com"))); return Braintree_TestHelper::submitTrRequest(Braintree_CreditCard::updateCreditCardUrl(), $regularParams, $trData); }
function createTransactionToRefund() { $transaction = Braintree_Transaction::saleNoValidate(array('amount' => '100.00', 'creditCard' => array('number' => '5105105105105100', 'expirationDate' => '05/12'), 'options' => array('submitForSettlement' => true))); Braintree_TestHelper::settle($transaction->id); return $transaction; }