/
home
/
desid573
/
public_html
/
app
/
braintree
/
tests
/
integration
/
/home/desid573/public_html/app/braintree/tests/integration
mkdir
upload
Name
Size
Mode
Actions
Error/
-
0755
rm
Result/
-
0755
rm
AddOnsTest.php
2953
0644
edit
dl
rm
AddressTest.php
12833
0644
edit
dl
rm
ApplePayTest.php
2595
0644
edit
dl
rm
ClientTokenTest.php
7016
0644
edit
dl
rm
CreditCardTest.php
56489
0644
edit
dl
rm
CreditCardVerificationAdvancedSearchTest.php
11209
0644
edit
dl
rm
CreditCardVerificationTest.php
2266
0644
edit
dl
rm
CustomerAdvancedSearchTest.php
7669
0644
edit
dl
rm
CustomerTest.php
70695
0644
edit
dl
rm
DisbursementTest.php
1206
0644
edit
dl
rm
DiscountTest.php
3072
0644
edit
dl
rm
DisputeSearchTest.php
3707
0644
edit
dl
rm
DisputeTest.php
15517
0644
edit
dl
rm
DocumentUploadTest.php
4185
0644
edit
dl
rm
GraphQLTest.php
2785
0644
edit
dl
rm
HttpClientApi.php
4170
0644
edit
dl
rm
HttpTest.php
6238
0644
edit
dl
rm
IdealPaymentTest.php
4141
0644
edit
dl
rm
MasterpassCardTest.php
6022
0644
edit
dl
rm
MerchantAccountTest.php
30040
0644
edit
dl
rm
MerchantTest.php
10160
0644
edit
dl
rm
MultipleValueNodeTest.php
3339
0644
edit
dl
rm
OAuthTest.php
13732
0644
edit
dl
rm
PaymentMethodNonceTest.php
7965
0644
edit
dl
rm
PaymentMethodTest.php
69618
0644
edit
dl
rm
PaymentMethodWithUsBankAccountTest.php
6483
0644
edit
dl
rm
PayPalAccountTest.php
11300
0644
edit
dl
rm
PlanTest.php
4757
0644
edit
dl
rm
SamsungPayCardTest.php
8758
0644
edit
dl
rm
SettlementBatchSummaryTest.php
3497
0644
edit
dl
rm
SubscriptionHelper.php
2460
0644
edit
dl
rm
SubscriptionSearchTest.php
17843
0644
edit
dl
rm
SubscriptionTest.php
55394
0644
edit
dl
rm
TestTransactionTest.php
2889
0644
edit
dl
rm
TextNodeTest.php
5379
0644
edit
dl
rm
TransactionAdvancedSearchTest.php
65742
0644
edit
dl
rm
TransactionLineItemTest.php
1401
0644
edit
dl
rm
TransactionTest.php
241343
0644
edit
dl
rm
TransactionWithUsBankAccountTest.php
11892
0644
edit
dl
rm
TransparentRedirectTest.php
12457
0644
edit
dl
rm
UsBankAccountTest.php
4691
0644
edit
dl
rm
UsBankAccountVerificationTest.php
9896
0644
edit
dl
rm
VisaCheckoutCardTest.php
7077
0644
edit
dl
rm
Edit:
/home/desid573/public_html/app/braintree/tests/integration/CreditCardTest.php
(56489B)
<?php namespace Test\Integration; require_once dirname(__DIR__) . '/Setup.php'; use Test; use Test\Braintree\CreditCardNumbers\CardTypeIndicators; use Test\Setup; use Braintree; class CreditCardTest extends Setup { public function testCreate() { $customer = Braintree\Customer::createNoValidate(); $result = Braintree\CreditCard::create([ 'customerId' => $customer->id, 'cardholderName' => 'Cardholder', 'number' => '5105105105105100', 'expirationDate' => '05/12' ]); $this->assertTrue($result->success); $this->assertEquals($customer->id, $result->creditCard->customerId); $this->assertEquals('510510', $result->creditCard->bin); $this->assertEquals('5100', $result->creditCard->last4); $this->assertEquals('Cardholder', $result->creditCard->cardholderName); $this->assertEquals('05/2012', $result->creditCard->expirationDate); $this->assertEquals(1, preg_match('/\A\w{32}\z/', $result->creditCard->uniqueNumberIdentifier)); $this->assertFalse($result->creditCard->isVenmoSdk()); $this->assertEquals(1, preg_match('/png/', $result->creditCard->imageUrl)); } public function testGatewayCreate() { $customer = Braintree\Customer::createNoValidate(); $gateway = new Braintree\Gateway([ 'environment' => 'development', 'merchantId' => 'integration_merchant_id', 'publicKey' => 'integration_public_key', 'privateKey' => 'integration_private_key' ]); $result = $gateway->creditCard()->create([ 'customerId' => $customer->id, 'cardholderName' => 'Cardholder', 'number' => '5105105105105100', 'expirationDate' => '05/12' ]); $this->assertTrue($result->success); $this->assertEquals($customer->id, $result->creditCard->customerId); $this->assertEquals('510510', $result->creditCard->bin); $this->assertEquals('5100', $result->creditCard->last4); $this->assertEquals('Cardholder', $result->creditCard->cardholderName); $this->assertEquals('05/2012', $result->creditCard->expirationDate); } public function testCreate_withDefault() { $customer = Braintree\Customer::createNoValidate(); $card1 = Braintree\CreditCard::create([ 'customerId' => $customer->id, 'cardholderName' => 'Cardholder', 'number' => '5105105105105100', 'expirationDate' => '05/12' ])->creditCard; $this->assertTrue($card1->isDefault()); $card2 = Braintree\CreditCard::create([ 'customerId' => $customer->id, 'cardholderName' => 'Cardholder', 'number' => '5105105105105100', 'expirationDate' => '05/12', 'options' => [ 'makeDefault' => true ] ])->creditCard; $card1 = Braintree\CreditCard::find($card1->token); $this->assertFalse($card1->isDefault()); $this->assertTrue($card2->isDefault()); } public function testCreateWithVerificationAmount() { $customer = Braintree\Customer::createNoValidate(); $result = Braintree\CreditCard::create([ 'customerId' => $customer->id, 'cardholderName' => 'Cardholder', 'number' => '4111111111111111', 'expirationDate' => '05/12', 'options' => [ 'verificationAmount' => '5.00', 'verifyCard' => true ] ]); $this->assertTrue($result->success); $this->assertEquals($customer->id, $result->creditCard->customerId); $this->assertEquals('411111', $result->creditCard->bin); $this->assertEquals('1111', $result->creditCard->last4); $this->assertEquals('Cardholder', $result->creditCard->cardholderName); $this->assertEquals('05/2012', $result->creditCard->expirationDate); $this->assertEquals(1, preg_match('/\A\w{32}\z/', $result->creditCard->uniqueNumberIdentifier)); $this->assertFalse($result->creditCard->isVenmoSdk()); $this->assertEquals(1, preg_match('/png/', $result->creditCard->imageUrl)); } public function testAddCardToExistingCustomerUsingNonce() { $customer = Braintree\Customer::createNoValidate(); $http = new HttpClientApi(Braintree\Configuration::$global); $nonce = $http->nonce_for_new_card([ "credit_card" => [ "number" => "4111111111111111", "expirationMonth" => "11", "expirationYear" => "2099" ], "share" => true ]); $result = Braintree\CreditCard::create([ 'customerId' => $customer->id, 'paymentMethodNonce' => $nonce ]); $this->assertSame("411111", $result->creditCard->bin); $this->assertSame("1111", $result->creditCard->last4); } public function testCreate_withSecurityParams() { $customer = Braintree\Customer::createNoValidate(); $result = Braintree\CreditCard::create([ 'customerId' => $customer->id, 'deviceSessionId' => 'abc_123', 'fraudMerchantId' => '456', 'cardholderName' => 'Cardholder', 'number' => '5105105105105100', 'expirationDate' => '05/12' ]); $this->assertTrue($result->success); } public function testCreate_withExpirationMonthAndYear() { $customer = Braintree\Customer::createNoValidate(); $result = Braintree\CreditCard::create([ 'customerId' => $customer->id, 'cardholderName' => 'Cardholder', 'number' => '5105105105105100', 'expirationMonth' => '05', 'expirationYear' => '2011' ]); $this->assertTrue($result->success); $this->assertEquals($customer->id, $result->creditCard->customerId); $this->assertEquals('510510', $result->creditCard->bin); $this->assertEquals('5100', $result->creditCard->last4); $this->assertEquals('Cardholder', $result->creditCard->cardholderName); $this->assertEquals('05/2011', $result->creditCard->expirationDate); } public function testCreate_withSpecifyingToken() { $token = strval(rand()); $customer = Braintree\Customer::createNoValidate(); $result = Braintree\CreditCard::create([ 'customerId' => $customer->id, 'number' => '5105105105105100', 'expirationDate' => '05/2011', 'token' => $token ]); $this->assertTrue($result->success); $this->assertEquals($token, $result->creditCard->token); $this->assertEquals($token, Braintree\CreditCard::find($token)->token); } public function testCreate_withDuplicateCardCheck() { $customer = Braintree\Customer::createNoValidate(); $attributes = [ 'customerId' => $customer->id, 'number' => '5105105105105100', 'expirationDate' => '05/2011', 'options' => ['failOnDuplicatePaymentMethod' => true] ]; Braintree\CreditCard::create($attributes); $result = Braintree\CreditCard::create($attributes); $this->assertFalse($result->success); $errors = $result->errors->forKey('creditCard')->onAttribute('number'); $this->assertEquals(Braintree\Error\Codes::CREDIT_CARD_DUPLICATE_CARD_EXISTS, $errors[0]->code); $this->assertEquals(1, preg_match('/Duplicate card exists in the vault\./', $result->message)); } public function testCreate_withCardVerification() { $customer = Braintree\Customer::createNoValidate(); $result = Braintree\CreditCard::create([ 'customerId' => $customer->id, 'number' => '5105105105105100', 'expirationDate' => '05/2011', 'options' => ['verifyCard' => true] ]); $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('I', $result->creditCardVerification->cvvResponseCode); $this->assertEquals(null, $result->creditCardVerification->avsErrorResponseCode); $this->assertEquals('I', $result->creditCardVerification->avsPostalCodeResponseCode); $this->assertEquals('I', $result->creditCardVerification->avsStreetAddressResponseCode); $this->assertEquals(Braintree\CreditCard::PREPAID_UNKNOWN, $result->creditCardVerification->creditCard['prepaid']); } public function testCreate_withCardVerificationReturnsVerificationWithRiskData() { $gateway = Test\Helper::advancedFraudIntegrationMerchantGateway(); $customer = $gateway->customer()->createNoValidate(); $result = $gateway->creditCard()->create([ 'customerId' => $customer->id, 'number' => '4111111111111111', 'expirationDate' => '05/2011', 'options' => ['verifyCard' => true], 'deviceSessionId' => 'abc123' ]); $this->assertTrue($result->success); $this->assertNotNull($result->creditCard->verification->riskData); $this->assertNotNull($result->creditCard->verification->riskData->decision); $this->assertNotNull($result->creditCard->verification->riskData->deviceDataCaptured); $this->assertNotNull($result->creditCard->verification->riskData->id); $this->assertNotNull($result->creditCard->verification->riskData->fraudServiceProvider); } public function testCreate_withCardVerificationAndOverriddenAmount() { $customer = Braintree\Customer::createNoValidate(); $result = Braintree\CreditCard::create([ 'customerId' => $customer->id, 'number' => '5105105105105100', 'expirationDate' => '05/2011', 'options' => ['verifyCard' => true, 'verificationAmount' => '1.02'] ]); $this->assertFalse($result->success); $this->assertEquals(Braintree\Result\CreditCardVerification::PROCESSOR_DECLINED, $result->creditCardVerification->status); $this->assertEquals('1.02', $result->creditCardVerification->amount); $this->assertEquals('USD', $result->creditCardVerification->currencyIsoCode); $this->assertEquals('2000', $result->creditCardVerification->processorResponseCode); $this->assertEquals('Do Not Honor', $result->creditCardVerification->processorResponseText); $this->assertEquals('I', $result->creditCardVerification->cvvResponseCode); $this->assertEquals(null, $result->creditCardVerification->avsErrorResponseCode); $this->assertEquals('I', $result->creditCardVerification->avsPostalCodeResponseCode); $this->assertEquals('I', $result->creditCardVerification->avsStreetAddressResponseCode); $this->assertEquals(Braintree\CreditCard::PREPAID_UNKNOWN, $result->creditCardVerification->creditCard['prepaid']); } public function testCreate_withCardVerificationAndSpecificMerchantAccount() { $customer = Braintree\Customer::createNoValidate(); $result = Braintree\CreditCard::create([ 'customerId' => $customer->id, 'number' => '5105105105105100', 'expirationDate' => '05/2011', 'options' => ['verificationMerchantAccountId' => Test\Helper::nonDefaultMerchantAccountId(), 'verifyCard' => true], ]); $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('I', $result->creditCardVerification->cvvResponseCode); $this->assertEquals(null, $result->creditCardVerification->avsErrorResponseCode); $this->assertEquals('I', $result->creditCardVerification->avsPostalCodeResponseCode); $this->assertEquals('I', $result->creditCardVerification->avsStreetAddressResponseCode); } public function testCreate_withBillingAddress() { $customer = Braintree\Customer::createNoValidate(); $result = Braintree\CreditCard::create([ 'customerId' => $customer->id, 'cardholderName' => 'Peter Tomlin', 'number' => '5105105105105100', 'expirationDate' => '05/12', 'billingAddress' => [ 'firstName' => 'Drew', 'lastName' => 'Smith', 'company' => 'Smith Co.', 'streetAddress' => '1 E Main St', 'extendedAddress' => 'Suite 101', 'locality' => 'Chicago', 'region' => 'IL', 'postalCode' => '60622', 'countryName' => 'Micronesia', 'countryCodeAlpha2' => 'FM', 'countryCodeAlpha3' => 'FSM', 'countryCodeNumeric' => '583' ] ]); $this->assertTrue($result->success); $this->assertEquals($customer->id, $result->creditCard->customerId); $this->assertEquals('510510', $result->creditCard->bin); $this->assertEquals('5100', $result->creditCard->last4); $this->assertEquals('Peter Tomlin', $result->creditCard->cardholderName); $this->assertEquals('05/2012', $result->creditCard->expirationDate); $address = $result->creditCard->billingAddress; $this->assertEquals('Drew', $address->firstName); $this->assertEquals('Smith', $address->lastName); $this->assertEquals('Smith Co.', $address->company); $this->assertEquals('1 E Main St', $address->streetAddress); $this->assertEquals('Suite 101', $address->extendedAddress); $this->assertEquals('Chicago', $address->locality); $this->assertEquals('IL', $address->region); $this->assertEquals('60622', $address->postalCode); $this->assertEquals('Micronesia', $address->countryName); $this->assertEquals('FM', $address->countryCodeAlpha2); $this->assertEquals('FSM', $address->countryCodeAlpha3); $this->assertEquals('583', $address->countryCodeNumeric); } public function testCreate_withExistingBillingAddress() { $customer = Braintree\Customer::createNoValidate(); $existingAddress = Braintree\Address::createNoValidate([ 'customerId' => $customer->id, 'firstName' => 'John' ]); $result = Braintree\CreditCard::create([ 'customerId' => $customer->id, 'number' => '5105105105105100', 'expirationDate' => '05/12', 'billingAddressId' => $existingAddress->id ]); $this->assertTrue($result->success); $address = $result->creditCard->billingAddress; $this->assertEquals($existingAddress->id, $address->id); $this->assertEquals('John', $address->firstName); } public function testCreate_withValidationErrors() { $customer = Braintree\Customer::createNoValidate(); $result = Braintree\CreditCard::create([ 'expirationDate' => 'invalid', 'billingAddress' => [ 'countryName' => 'Tuvalu', 'countryCodeAlpha2' => 'US' ] ]); $this->assertFalse($result->success); $errors = $result->errors->forKey('creditCard')->onAttribute('expirationDate'); $this->assertEquals(Braintree\Error\Codes::CREDIT_CARD_EXPIRATION_DATE_IS_INVALID, $errors[0]->code); $this->assertEquals(1, preg_match('/Credit card number is required\./', $result->message)); $this->assertEquals(1, preg_match('/Customer ID is required\./', $result->message)); $this->assertEquals(1, preg_match('/Expiration date is invalid\./', $result->message)); $errors = $result->errors->forKey('creditCard')->forKey('billingAddress')->onAttribute('base'); $this->assertEquals(Braintree\Error\Codes::ADDRESS_INCONSISTENT_COUNTRY, $errors[0]->code); } public function testCreate_withVenmoSdkPaymentMethodCode() { $customer = Braintree\Customer::createNoValidate(); $result = Braintree\CreditCard::create([ 'customerId' => $customer->id, 'venmoSdkPaymentMethodCode' => Braintree\Test\VenmoSdk::generateTestPaymentMethodCode('378734493671000') ]); $this->assertTrue($result->success); $this->assertEquals("378734", $result->creditCard->bin); } public function testCreate_with_invalid_venmoSdkPaymentMethodCode() { $customer = Braintree\Customer::createNoValidate(); $result = Braintree\CreditCard::create([ 'customerId' => $customer->id, 'venmoSdkPaymentMethodCode' => Braintree\Test\VenmoSdk::getInvalidPaymentMethodCode(), ]); $this->assertFalse($result->success); $errors = $result->errors->forKey('creditCard')->onAttribute('venmoSdkPaymentMethodCode'); $this->assertEquals($errors[0]->code, Braintree\Error\Codes::CREDIT_CARD_INVALID_VENMO_SDK_PAYMENT_METHOD_CODE); } public function testCreate_with_venmoSdkSession() { $customer = Braintree\Customer::createNoValidate(); $result = Braintree\CreditCard::create([ 'customerId' => $customer->id, 'number' => '5105105105105100', 'expirationDate' => '05/12', 'options' => [ 'venmoSdkSession' => Braintree\Test\VenmoSdk::getTestSession() ] ]); $this->assertTrue($result->success); $this->assertFalse($result->creditCard->isVenmoSdk()); } public function testCreate_with_invalidVenmoSdkSession() { $customer = Braintree\Customer::createNoValidate(); $result = Braintree\CreditCard::create([ 'customerId' => $customer->id, 'number' => '5105105105105100', 'expirationDate' => '05/12', 'options' => [ 'venmoSdkSession' => Braintree\Test\VenmoSdk::getInvalidTestSession(), ] ]); $this->assertTrue($result->success); $this->assertFalse($result->creditCard->isVenmoSdk()); } public function testCreateNoValidate_throwsIfValidationsFail() { $this->setExpectedException('Braintree\Exception\ValidationsFailed'); $customer = Braintree\Customer::createNoValidate(); Braintree\CreditCard::createNoValidate([ 'expirationDate' => 'invalid', ]); } public function testCreateNoValidate_returnsCreditCardIfValid() { $customer = Braintree\Customer::createNoValidate(); $creditCard = Braintree\CreditCard::createNoValidate([ 'customerId' => $customer->id, 'cardholderName' => 'Cardholder', 'number' => '5105105105105100', 'expirationDate' => '05/12' ]); $this->assertEquals($customer->id, $creditCard->customerId); $this->assertEquals('510510', $creditCard->bin); $this->assertEquals('5100', $creditCard->last4); $this->assertEquals('Cardholder', $creditCard->cardholderName); $this->assertEquals('05/2012', $creditCard->expirationDate); } public function testCreateFromTransparentRedirect() { Test\Helper::suppressDeprecationWarnings(); $customer = Braintree\Customer::createNoValidate(); $queryString = $this->createCreditCardViaTr( [ 'credit_card' => [ 'number' => '5105105105105100', 'expiration_date' => '05/12' ] ], [ 'creditCard' => [ 'customerId' => $customer->id ] ] ); $result = Braintree\CreditCard::createFromTransparentRedirect($queryString); $this->assertTrue($result->success); $this->assertEquals('510510', $result->creditCard->bin); $this->assertEquals('5100', $result->creditCard->last4); $this->assertEquals('05/2012', $result->creditCard->expirationDate); } public function testCreateFromTransparentRedirect_withDefault() { Test\Helper::suppressDeprecationWarnings(); $customer = Braintree\Customer::createNoValidate(); $queryString = $this->createCreditCardViaTr( [ 'credit_card' => [ 'number' => '5105105105105100', 'expiration_date' => '05/12', 'options' => ['make_default' => true] ] ], [ 'creditCard' => [ 'customerId' => $customer->id ] ] ); $result = Braintree\CreditCard::createFromTransparentRedirect($queryString); $this->assertTrue($result->creditCard->isDefault()); } public function testUpdateFromTransparentRedirect() { $customer = Braintree\Customer::createNoValidate(); $creditCard = Braintree\CreditCard::createNoValidate([ 'customerId' => $customer->id, 'number' => '5105105105105100', 'expirationDate' => '05/12' ]); $queryString = $this->updateCreditCardViaTr( [ 'credit_card' => [ 'number' => '4111111111111111', 'expiration_date' => '01/11' ] ], ['paymentMethodToken' => $creditCard->token] ); $result = Braintree\CreditCard::updateFromTransparentRedirect($queryString); $this->assertTrue($result->success); $this->assertEquals('411111', $result->creditCard->bin); $this->assertEquals('1111', $result->creditCard->last4); $this->assertEquals('01/2011', $result->creditCard->expirationDate); } public function testUpdateFromTransparentRedirect_withDefault() { $customer = Braintree\Customer::createNoValidate(); $card1 = Braintree\CreditCard::createNoValidate([ 'customerId' => $customer->id, 'number' => '5105105105105100', 'expirationDate' => '05/12' ]); $card2 = Braintree\CreditCard::createNoValidate([ 'customerId' => $customer->id, 'number' => '5105105105105100', 'expirationDate' => '05/12' ]); $this->assertFalse($card2->isDefault()); $queryString = $this->updateCreditCardViaTr( [ 'credit_card' => [ 'options' => [ 'make_default' => true ] ] ], ['paymentMethodToken' => $card2->token] ); $result = Braintree\CreditCard::updateFromTransparentRedirect($queryString); $this->assertFalse(Braintree\CreditCard::find($card1->token)->isDefault()); $this->assertTrue(Braintree\CreditCard::find($card2->token)->isDefault()); } public function testUpdateFromTransparentRedirect_andUpdateExistingBillingAddress() { $customer = Braintree\Customer::createNoValidate(); $card = Braintree\CreditCard::createNoValidate([ 'customerId' => $customer->id, 'number' => '5105105105105100', 'expirationDate' => '05/12', 'billingAddress' => [ 'firstName' => 'Drew', 'lastName' => 'Smith', 'company' => 'Smith Co.', 'streetAddress' => '123 Old St', 'extendedAddress' => 'Suite 101', 'locality' => 'Chicago', 'region' => 'IL', 'postalCode' => '60622', 'countryName' => 'United States of America' ] ]); $queryString = $this->updateCreditCardViaTr( [], [ 'paymentMethodToken' => $card->token, 'creditCard' => [ 'billingAddress' => [ 'streetAddress' => '123 New St', 'locality' => 'St. Louis', 'region' => 'MO', 'postalCode' => '63119', 'options' => [ 'updateExisting' => True ] ] ] ] ); $result = Braintree\CreditCard::updateFromTransparentRedirect($queryString); $this->assertTrue($result->success); $card = $result->creditCard; $this->assertEquals(1, sizeof(Braintree\Customer::find($customer->id)->addresses)); $this->assertEquals('123 New St', $card->billingAddress->streetAddress); $this->assertEquals('St. Louis', $card->billingAddress->locality); $this->assertEquals('MO', $card->billingAddress->region); $this->assertEquals('63119', $card->billingAddress->postalCode); } public function testSale_createsASaleUsingGivenToken() { $customer = Braintree\Customer::createNoValidate([ 'creditCard' => [ 'number' => '5105105105105100', 'expirationDate' => '05/12' ] ]); $creditCard = $customer->creditCards[0]; $result = Braintree\CreditCard::sale($creditCard->token, [ 'amount' => '100.00' ]); $this->assertTrue($result->success); $this->assertEquals('100.00', $result->transaction->amount); $this->assertEquals($customer->id, $result->transaction->customerDetails->id); $this->assertEquals($creditCard->token, $result->transaction->creditCardDetails->token); } public function testSaleNoValidate_createsASaleUsingGivenToken() { $customer = Braintree\Customer::createNoValidate([ 'creditCard' => [ 'number' => '5105105105105100', 'expirationDate' => '05/12' ] ]); $creditCard = $customer->creditCards[0]; $transaction = Braintree\CreditCard::saleNoValidate($creditCard->token, [ 'amount' => '100.00' ]); $this->assertEquals('100.00', $transaction->amount); $this->assertEquals($customer->id, $transaction->customerDetails->id); $this->assertEquals($creditCard->token, $transaction->creditCardDetails->token); } public function testSaleNoValidate_createsASaleUsingGivenTokenAndCvv() { $customer = Braintree\Customer::createNoValidate([ 'creditCard' => [ 'number' => '5105105105105100', 'expirationDate' => '05/12' ] ]); $creditCard = $customer->creditCards[0]; $transaction = Braintree\CreditCard::saleNoValidate($creditCard->token, [ 'amount' => '100.00', 'creditCard' => [ 'cvv' => '301' ] ]); $this->assertEquals('100.00', $transaction->amount); $this->assertEquals($customer->id, $transaction->customerDetails->id); $this->assertEquals($creditCard->token, $transaction->creditCardDetails->token); $this->assertEquals('S', $transaction->cvvResponseCode); } public function testSaleNoValidate_throwsIfInvalid() { $customer = Braintree\Customer::createNoValidate([ 'creditCard' => [ 'number' => '5105105105105100', 'expirationDate' => '05/12' ] ]); $creditCard = $customer->creditCards[0]; $this->setExpectedException('Braintree\Exception\ValidationsFailed'); Braintree\CreditCard::saleNoValidate($creditCard->token, [ 'amount' => 'invalid' ]); } public function testCredit_createsACreditUsingGivenToken() { $customer = Braintree\Customer::createNoValidate([ 'creditCard' => [ 'number' => '5105105105105100', 'expirationDate' => '05/12' ] ]); $creditCard = $customer->creditCards[0]; $result = Braintree\CreditCard::credit($creditCard->token, [ 'amount' => '100.00' ]); $this->assertTrue($result->success); $this->assertEquals('100.00', $result->transaction->amount); $this->assertEquals(Braintree\Transaction::CREDIT, $result->transaction->type); $this->assertEquals($customer->id, $result->transaction->customerDetails->id); $this->assertEquals($creditCard->token, $result->transaction->creditCardDetails->token); } public function testCreditNoValidate_createsACreditUsingGivenToken() { $customer = Braintree\Customer::createNoValidate([ 'creditCard' => [ 'number' => '5105105105105100', 'expirationDate' => '05/12' ] ]); $creditCard = $customer->creditCards[0]; $transaction = Braintree\CreditCard::creditNoValidate($creditCard->token, [ 'amount' => '100.00' ]); $this->assertEquals('100.00', $transaction->amount); $this->assertEquals(Braintree\Transaction::CREDIT, $transaction->type); $this->assertEquals($customer->id, $transaction->customerDetails->id); $this->assertEquals($creditCard->token, $transaction->creditCardDetails->token); } public function testCreditNoValidate_throwsIfInvalid() { $customer = Braintree\Customer::createNoValidate([ 'creditCard' => [ 'number' => '5105105105105100', 'expirationDate' => '05/12' ] ]); $creditCard = $customer->creditCards[0]; $this->setExpectedException('Braintree\Exception\ValidationsFailed'); Braintree\CreditCard::creditNoValidate($creditCard->token, [ 'amount' => 'invalid' ]); } public function testExpired() { $collection = Braintree\CreditCard::expired(); $this->assertTrue($collection->maximumCount() > 1); $arr = []; foreach($collection as $creditCard) { $this->assertTrue($creditCard->isExpired()); array_push($arr, $creditCard->token); } $uniqueCreditCardTokens = array_unique(array_values($arr)); $this->assertEquals($collection->maximumCount(), count($uniqueCreditCardTokens)); } public function testExpiringBetween() { $collection = Braintree\CreditCard::expiringBetween( mktime(0, 0, 0, 1, 1, 2010), mktime(23, 59, 59, 12, 31, 2010) ); $this->assertTrue($collection->maximumCount() > 1); $arr = []; foreach($collection as $creditCard) { $this->assertEquals('2010', $creditCard->expirationYear); array_push($arr, $creditCard->token); } $uniqueCreditCardTokens = array_unique(array_values($arr)); $this->assertEquals($collection->maximumCount(), count($uniqueCreditCardTokens)); } public function testExpiringBetween_parsesCreditCardDetailsUnderTransactionsCorrectly() { $collection = Braintree\CreditCard::expiringBetween( mktime(0, 0, 0, 1, 1, 2010), mktime(23, 59, 59, 12, 31, 2010) ); $this->assertTrue($collection->maximumCount() > 1); foreach($collection as $creditCard) { foreach($creditCard->subscriptions as $subscription) { foreach($subscription->transactions as $transaction) { $this->assertNotNull($transaction->creditCardDetails->expirationMonth); } } } } public function testFind() { $customer = Braintree\Customer::createNoValidate(); $result = Braintree\CreditCard::create([ 'customerId' => $customer->id, 'cardholderName' => 'Cardholder', 'number' => '5105105105105100', 'expirationDate' => '05/12' ]); $this->assertTrue($result->success); $creditCard = Braintree\CreditCard::find($result->creditCard->token); $this->assertEquals($customer->id, $creditCard->customerId); $this->assertEquals('510510', $creditCard->bin); $this->assertEquals('5100', $creditCard->last4); $this->assertEquals('Cardholder', $creditCard->cardholderName); $this->assertEquals('05/2012', $creditCard->expirationDate); $this->assertEquals([], $creditCard->subscriptions); } public function testFindReturnsAssociatedSubscriptions() { $customer = Braintree\Customer::createNoValidate(); $result = Braintree\CreditCard::create([ 'customerId' => $customer->id, 'cardholderName' => 'Cardholder', 'number' => '5105105105105100', 'expirationDate' => '05/12', 'billingAddress' => [ 'firstName' => 'Drew', 'lastName' => 'Smith', 'company' => 'Smith Co.', 'streetAddress' => '1 E Main St', 'extendedAddress' => 'Suite 101', 'locality' => 'Chicago', 'region' => 'IL', 'postalCode' => '60622', 'countryName' => 'United States of America' ] ]); $id = strval(rand()); Braintree\Subscription::create([ 'id' => $id, 'paymentMethodToken' => $result->creditCard->token, 'planId' => 'integration_trialless_plan', 'price' => '1.00' ]); $creditCard = Braintree\CreditCard::find($result->creditCard->token); $this->assertEquals($id, $creditCard->subscriptions[0]->id); $this->assertEquals('integration_trialless_plan', $creditCard->subscriptions[0]->planId); $this->assertEquals('1.00', $creditCard->subscriptions[0]->price); } public function testFind_throwsIfCannotBeFound() { $this->setExpectedException('Braintree\Exception\NotFound'); Braintree\CreditCard::find('invalid-token'); } public function testFind_throwsUsefulErrorMessagesWhenEmpty() { $this->setExpectedException('InvalidArgumentException', 'expected credit card id to be set'); Braintree\CreditCard::find(''); } public function testFind_throwsUsefulErrorMessagesWhenInvalid() { $this->setExpectedException('InvalidArgumentException', '@ is an invalid credit card token'); Braintree\CreditCard::find('@'); } public function testFromNonce() { $customer = Braintree\Customer::createNoValidate(); $http = new HttpClientApi(Braintree\Configuration::$global); $nonce = $http->nonce_for_new_card([ "credit_card" => [ "number" => "4009348888881881", "expirationMonth" => "11", "expirationYear" => "2099" ], "customerId" => $customer->id ]); $creditCard = Braintree\CreditCard::fromNonce($nonce); $customer = Braintree\Customer::find($customer->id); $this->assertEquals($customer->creditCards[0], $creditCard); } public function testFromNonce_ReturnsErrorWhenNoncePointsToSharedCard() { $http = new HttpClientApi(Braintree\Configuration::$global); $nonce = $http->nonce_for_new_card([ "credit_card" => [ "number" => "4009348888881881", "expirationMonth" => "11", "expirationYear" => "2099" ], "share" => true ]); $this->setExpectedException('Braintree\Exception\NotFound', "not found"); Braintree\CreditCard::fromNonce($nonce); } public function testFromNonce_ReturnsErrorWhenNonceIsConsumed() { $customer = Braintree\Customer::createNoValidate(); $http = new HttpClientApi(Braintree\Configuration::$global); $nonce = $http->nonce_for_new_card([ "credit_card" => [ "number" => "4009348888881881", "expirationMonth" => "11", "expirationYear" => "2099" ], "customerId" => $customer->id ]); Braintree\CreditCard::fromNonce($nonce); $this->setExpectedException('Braintree\Exception\NotFound', "consumed"); Braintree\CreditCard::fromNonce($nonce); } public function testUpdate() { $customer = Braintree\Customer::createNoValidate(); $createResult = Braintree\CreditCard::create([ 'customerId' => $customer->id, 'cardholderName' => 'Old Cardholder', 'number' => '5105105105105100', 'expirationDate' => '05/12' ]); $this->assertTrue($createResult->success); $updateResult = Braintree\CreditCard::update($createResult->creditCard->token, [ 'cardholderName' => 'New Cardholder', 'number' => '4111111111111111', 'expirationDate' => '07/14' ]); $this->assertEquals($customer->id, $updateResult->creditCard->customerId); $this->assertEquals('411111', $updateResult->creditCard->bin); $this->assertEquals('1111', $updateResult->creditCard->last4); $this->assertEquals('New Cardholder', $updateResult->creditCard->cardholderName); $this->assertEquals('07/2014', $updateResult->creditCard->expirationDate); } public function testUpdate_withCardVerification() { $customer = Braintree\Customer::createNoValidate(); $initialCreditCard = Braintree\CreditCard::create([ 'customerId' => $customer->id, 'number' => '5105105105105100', 'expirationDate' => '05/12' ])->creditCard; $result = Braintree\CreditCard::update($initialCreditCard->token, [ 'billingAddress' => [ 'region' => 'IL' ], 'options' => ['verifyCard' => true] ]); $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('I', $result->creditCardVerification->cvvResponseCode); $this->assertEquals(null, $result->creditCardVerification->avsErrorResponseCode); $this->assertEquals('I', $result->creditCardVerification->avsPostalCodeResponseCode); $this->assertEquals('I', $result->creditCardVerification->avsStreetAddressResponseCode); $this->assertEquals(Test\Helper::defaultMerchantAccountId(), $result->creditCardVerification->merchantAccountId); } public function testUpdate_withCardVerificationAndSpecificMerchantAccount() { $customer = Braintree\Customer::createNoValidate(); $initialCreditCard = Braintree\CreditCard::create([ 'customerId' => $customer->id, 'number' => '5105105105105100', 'expirationDate' => '05/12' ])->creditCard; $result = Braintree\CreditCard::update($initialCreditCard->token, [ 'billingAddress' => [ 'region' => 'IL' ], 'options' => [ 'verificationMerchantAccountId' => Test\Helper::nonDefaultMerchantAccountId(), 'verifyCard' => true ] ]); $this->assertFalse($result->success); $this->assertEquals(Braintree\Result\CreditCardVerification::PROCESSOR_DECLINED, $result->creditCardVerification->status); $this->assertEquals(Test\Helper::nonDefaultMerchantAccountId(), $result->creditCardVerification->merchantAccountId); } public function testUpdate_createsNewBillingAddressByDefault() { $customer = Braintree\Customer::createNoValidate(); $initialCreditCard = Braintree\CreditCard::create([ 'customerId' => $customer->id, 'number' => '5105105105105100', 'expirationDate' => '05/12', 'billingAddress' => [ 'streetAddress' => '123 Nigeria Ave' ] ])->creditCard; $updatedCreditCard = Braintree\CreditCard::update($initialCreditCard->token, [ 'billingAddress' => [ 'region' => 'IL' ] ])->creditCard; $this->assertEquals('IL', $updatedCreditCard->billingAddress->region); $this->assertNull($updatedCreditCard->billingAddress->streetAddress); $this->assertNotEquals($initialCreditCard->billingAddress->id, $updatedCreditCard->billingAddress->id); } public function testUpdate_updatesExistingBillingAddressIfUpdateExistingOptionIsTrue() { $customer = Braintree\Customer::createNoValidate(); $initialCreditCard = Braintree\CreditCard::create([ 'customerId' => $customer->id, 'number' => '5105105105105100', 'expirationDate' => '05/12', 'billingAddress' => [ 'countryName' => 'Turkey', 'countryCodeAlpha2' => 'TR', 'countryCodeAlpha3' => 'TUR', 'countryCodeNumeric' => '792', ] ])->creditCard; $updatedCreditCard = Braintree\CreditCard::update($initialCreditCard->token, [ 'billingAddress' => [ 'countryName' => 'Thailand', 'countryCodeAlpha2' => 'TH', 'countryCodeAlpha3' => 'THA', 'countryCodeNumeric' => '764', 'options' => [ 'updateExisting' => True ] ] ])->creditCard; $this->assertEquals('Thailand', $updatedCreditCard->billingAddress->countryName); $this->assertEquals('TH', $updatedCreditCard->billingAddress->countryCodeAlpha2); $this->assertEquals('THA', $updatedCreditCard->billingAddress->countryCodeAlpha3); $this->assertEquals('764', $updatedCreditCard->billingAddress->countryCodeNumeric); $this->assertEquals($initialCreditCard->billingAddress->id, $updatedCreditCard->billingAddress->id); } public function testUpdate_canChangeToken() { $oldToken = strval(rand()); $newToken = strval(rand()); $customer = Braintree\Customer::createNoValidate(); $createResult = Braintree\CreditCard::create([ 'customerId' => $customer->id, 'token' => $oldToken, 'number' => '5105105105105100', 'expirationDate' => '05/12' ]); $this->assertTrue($createResult->success); $updateResult = Braintree\CreditCard::update($oldToken, [ 'token' => $newToken ]); $this->assertEquals($customer->id, $updateResult->creditCard->customerId); $this->assertEquals($newToken, $updateResult->creditCard->token); $this->assertEquals($newToken, Braintree\CreditCard::find($newToken)->token); } public function testUpdateNoValidate() { $customer = Braintree\Customer::createNoValidate(); $creditCard = Braintree\CreditCard::createNoValidate([ 'customerId' => $customer->id, 'cardholderName' => 'Old Cardholder', 'number' => '5105105105105100', 'expirationDate' => '05/12' ]); $updatedCard = Braintree\CreditCard::updateNoValidate($creditCard->token, [ 'cardholderName' => 'New Cardholder', 'number' => '4111111111111111', 'expirationDate' => '07/14' ]); $this->assertEquals($customer->id, $updatedCard->customerId); $this->assertEquals('411111', $updatedCard->bin); $this->assertEquals('1111', $updatedCard->last4); $this->assertEquals('New Cardholder', $updatedCard->cardholderName); $this->assertEquals('07/2014', $updatedCard->expirationDate); } public function testUpdateNoValidate_throwsIfInvalid() { $customer = Braintree\Customer::createNoValidate(); $creditCard = Braintree\CreditCard::createNoValidate([ 'customerId' => $customer->id, 'cardholderName' => 'Old Cardholder', 'number' => '5105105105105100', 'expirationDate' => '05/12' ]); $this->setExpectedException('Braintree\Exception\ValidationsFailed'); Braintree\CreditCard::updateNoValidate($creditCard->token, [ 'number' => 'invalid', ]); } public function testUpdate_withDefault() { $customer = Braintree\Customer::createNoValidate(); $card1 = Braintree\CreditCard::create([ 'customerId' => $customer->id, 'cardholderName' => 'Cardholder', 'number' => '5105105105105100', 'expirationDate' => '05/12' ])->creditCard; $card2 = Braintree\CreditCard::create([ 'customerId' => $customer->id, 'cardholderName' => 'Cardholder', 'number' => '5105105105105100', 'expirationDate' => '05/12' ])->creditCard; $this->assertTrue($card1->isDefault()); $this->assertFalse($card2->isDefault()); Braintree\CreditCard::update($card2->token, [ 'options' => ['makeDefault' => true] ])->creditCard; $this->assertFalse(Braintree\CreditCard::find($card1->token)->isDefault()); $this->assertTrue(Braintree\CreditCard::find($card2->token)->isDefault()); } public function testDelete_deletesThePaymentMethod() { $customer = Braintree\Customer::createNoValidate([]); $creditCard = Braintree\CreditCard::createNoValidate([ 'customerId' => $customer->id, 'number' => '5105105105105100', 'expirationDate' => '05/12' ]); Braintree\CreditCard::find($creditCard->token); Braintree\CreditCard::delete($creditCard->token); $this->setExpectedException('Braintree\Exception\NotFound'); Braintree\CreditCard::find($creditCard->token); } public function testGatewayRejectionOnCVV() { $old_merchant_id = Braintree\Configuration::merchantId(); $old_public_key = Braintree\Configuration::publicKey(); $old_private_key = Braintree\Configuration::privateKey(); Braintree\Configuration::merchantId('processing_rules_merchant_id'); Braintree\Configuration::publicKey('processing_rules_public_key'); Braintree\Configuration::privateKey('processing_rules_private_key'); $customer = Braintree\Customer::createNoValidate(); $result = Braintree\CreditCard::create([ 'customerId' => $customer->id, 'number' => '4111111111111111', 'expirationDate' => '05/2011', 'cvv' => '200', 'options' => ['verifyCard' => true] ]); Braintree\Configuration::merchantId($old_merchant_id); Braintree\Configuration::publicKey($old_public_key); Braintree\Configuration::privateKey($old_private_key); $this->assertFalse($result->success); $this->assertEquals(Braintree\Transaction::CVV, $result->creditCardVerification->gatewayRejectionReason); } public function testGatewayRejectionIsNullOnProcessorDecline() { $old_merchant_id = Braintree\Configuration::merchantId(); $old_public_key = Braintree\Configuration::publicKey(); $old_private_key = Braintree\Configuration::privateKey(); Braintree\Configuration::merchantId('processing_rules_merchant_id'); Braintree\Configuration::publicKey('processing_rules_public_key'); Braintree\Configuration::privateKey('processing_rules_private_key'); $customer = Braintree\Customer::createNoValidate(); $result = Braintree\CreditCard::create([ 'customerId' => $customer->id, 'number' => '5105105105105100', 'expirationDate' => '05/2011', 'cvv' => '200', 'options' => ['verifyCard' => true] ]); Braintree\Configuration::merchantId($old_merchant_id); Braintree\Configuration::publicKey($old_public_key); Braintree\Configuration::privateKey($old_private_key); $this->assertFalse($result->success); $this->assertNull($result->creditCardVerification->gatewayRejectionReason); } public function createCreditCardViaTr($regularParams, $trParams) { $trData = Braintree\TransparentRedirect::createCreditCardData( array_merge($trParams, ["redirectUrl" => "http://www.example.com"]) ); return Test\Helper::submitTrRequest( Braintree\CreditCard::createCreditCardUrl(), $regularParams, $trData ); } public function updateCreditCardViaTr($regularParams, $trParams) { $trData = Braintree\TransparentRedirect::updateCreditCardData( array_merge($trParams, ["redirectUrl" => "http://www.example.com"]) ); return Test\Helper::submitTrRequest( Braintree\CreditCard::updateCreditCardUrl(), $regularParams, $trData ); } public function testPrepaidCard() { $customer = Braintree\Customer::createNoValidate(); $result = Braintree\CreditCard::create([ 'customerId' => $customer->id, 'cardholderName' => 'Cardholder', 'number' => CardTypeIndicators::PREPAID, 'expirationDate' => '05/12', 'options' => ['verifyCard' => true] ]); $this->assertEquals(Braintree\CreditCard::PREPAID_YES, $result->creditCard->prepaid); } public function testCommercialCard() { $customer = Braintree\Customer::createNoValidate(); $result = Braintree\CreditCard::create([ 'customerId' => $customer->id, 'cardholderName' => 'Cardholder', 'number' => CardTypeIndicators::COMMERCIAL, 'expirationDate' => '05/12', 'options' => ['verifyCard' => true] ]); $this->assertEquals(Braintree\CreditCard::COMMERCIAL_YES, $result->creditCard->commercial); } public function testDebitCard() { $customer = Braintree\Customer::createNoValidate(); $result = Braintree\CreditCard::create([ 'customerId' => $customer->id, 'cardholderName' => 'Cardholder', 'number' => CardTypeIndicators::DEBIT, 'expirationDate' => '05/12', 'options' => ['verifyCard' => true] ]); $this->assertEquals(Braintree\CreditCard::DEBIT_YES, $result->creditCard->debit); } public function testPayrollCard() { $customer = Braintree\Customer::createNoValidate(); $result = Braintree\CreditCard::create([ 'customerId' => $customer->id, 'cardholderName' => 'Cardholder', 'number' => CardTypeIndicators::PAYROLL, 'expirationDate' => '05/12', 'options' => ['verifyCard' => true] ]); $this->assertEquals(Braintree\CreditCard::PAYROLL_YES, $result->creditCard->payroll); $this->assertEquals('MSA', $result->creditCard->productId); } public function testHealthCareCard() { $customer = Braintree\Customer::createNoValidate(); $result = Braintree\CreditCard::create([ 'customerId' => $customer->id, 'cardholderName' => 'Cardholder', 'number' => CardTypeIndicators::HEALTHCARE, 'expirationDate' => '05/12', 'options' => ['verifyCard' => true] ]); $this->assertEquals(Braintree\CreditCard::HEALTHCARE_YES, $result->creditCard->healthcare); $this->assertEquals('J3', $result->creditCard->productId); } public function testDurbinRegulatedCard() { $customer = Braintree\Customer::createNoValidate(); $result = Braintree\CreditCard::create([ 'customerId' => $customer->id, 'cardholderName' => 'Cardholder', 'number' => CardTypeIndicators::DURBIN_REGULATED, 'expirationDate' => '05/12', 'options' => ['verifyCard' => true] ]); $this->assertEquals(Braintree\CreditCard::DURBIN_REGULATED_YES, $result->creditCard->durbinRegulated); } public function testCountryOfIssuanceCard() { $customer = Braintree\Customer::createNoValidate(); $result = Braintree\CreditCard::create([ 'customerId' => $customer->id, 'cardholderName' => 'Cardholder', 'number' => CardTypeIndicators::COUNTRY_OF_ISSUANCE, 'expirationDate' => '05/12', 'options' => ['verifyCard' => true] ]); $this->assertEquals("USA", $result->creditCard->countryOfIssuance); } public function testIssuingBankCard() { $customer = Braintree\Customer::createNoValidate(); $result = Braintree\CreditCard::create([ 'customerId' => $customer->id, 'cardholderName' => 'Cardholder', 'number' => CardTypeIndicators::ISSUING_BANK, 'expirationDate' => '05/12', 'options' => ['verifyCard' => true] ]); $this->assertEquals("NETWORK ONLY", $result->creditCard->issuingBank); } public function testNegativeCardTypeIndicators() { $customer = Braintree\Customer::createNoValidate(); $result = Braintree\CreditCard::create([ 'customerId' => $customer->id, 'cardholderName' => 'Cardholder', 'number' => CardTypeIndicators::NO, 'expirationDate' => '05/12', 'options' => ['verifyCard' => true] ]); $this->assertEquals(Braintree\CreditCard::PREPAID_NO, $result->creditCard->prepaid); $this->assertEquals(Braintree\CreditCard::DURBIN_REGULATED_NO, $result->creditCard->durbinRegulated); $this->assertEquals(Braintree\CreditCard::PAYROLL_NO, $result->creditCard->payroll); $this->assertEquals(Braintree\CreditCard::DEBIT_NO, $result->creditCard->debit); $this->assertEquals(Braintree\CreditCard::HEALTHCARE_NO, $result->creditCard->healthcare); $this->assertEquals(Braintree\CreditCard::COMMERCIAL_NO, $result->creditCard->commercial); $this->assertEquals('MSB', $result->creditCard->productId); } public function testUnknownCardTypeIndicators() { $customer = Braintree\Customer::createNoValidate(); $result = Braintree\CreditCard::create([ 'customerId' => $customer->id, 'cardholderName' => 'Cardholder', 'number' => CardTypeIndicators::UNKNOWN, 'expirationDate' => '05/12', 'options' => ['verifyCard' => true] ]); $this->assertEquals(Braintree\CreditCard::PREPAID_UNKNOWN, $result->creditCard->prepaid); $this->assertEquals(Braintree\CreditCard::DURBIN_REGULATED_UNKNOWN, $result->creditCard->durbinRegulated); $this->assertEquals(Braintree\CreditCard::PAYROLL_UNKNOWN, $result->creditCard->payroll); $this->assertEquals(Braintree\CreditCard::DEBIT_UNKNOWN, $result->creditCard->debit); $this->assertEquals(Braintree\CreditCard::HEALTHCARE_UNKNOWN, $result->creditCard->healthcare); $this->assertEquals(Braintree\CreditCard::COMMERCIAL_UNKNOWN, $result->creditCard->commercial); $this->assertEquals(Braintree\CreditCard::COUNTRY_OF_ISSUANCE_UNKNOWN, $result->creditCard->countryOfIssuance); $this->assertEquals(Braintree\CreditCard::ISSUING_BANK_UNKNOWN, $result->creditCard->issuingBank); $this->assertEquals(Braintree\CreditCard::PRODUCT_ID_UNKNOWN, $result->creditCard->productId); } }
Save
cmd:
run