function testCreate_fromPaymentMethodToken() { $customer = Braintree_Customer::createNoValidate(); $card = Braintree_CreditCard::create(array('customerId' => $customer->id, 'cardholderName' => 'Cardholder', 'number' => '5105105105105100', 'expirationDate' => '05/12'))->creditCard; $result = Braintree_PaymentMethodNonce::create($card->token); $this->assertTrue($result->success); $this->assertNotNull($result->paymentMethodNonce); $this->assertNotNull($result->paymentMethodNonce->nonce); }
function create_card($card_info) { $result = Braintree_CreditCard::create($card_info); if ($result->success === true) { # Generated credit card token return $result->creditCard->token; } $this->_parse_errors($result); return false; }
private function _createPaymentToken($postFormData, $customerId) { $ccNumber = $postFormData['Order']['cc_number']; $ccHolderName = $postFormData['Order']['cc_holder_name']; $expiration = str_split($postFormData['Order']['cc_expiration'], 2); $expirationMonth = $expiration[0]; $expirationYear = $expiration[2]; $cvv = $postFormData['Order']['cc_cvv']; $payment = Braintree_CreditCard::create(['number' => $ccNumber, 'cardholderName' => $ccHolderName, 'expirationMonth' => $expirationMonth, 'expirationYear' => $expirationYear, 'cvv' => $cvv, 'customerId' => $customerId]); return $payment->creditCard->token; }
public function saveCreditCard() { $send_array = $this->options['creditCard']; if (isset($this->options['billing'])) { $send_array['billingAddress'] = $this->options['billing']; } if (isset($this->options['customerId'])) { $send_array['customerId'] = $this->options['customerId']; } $result = Braintree_CreditCard::create($send_array); if ($result->success) { return array('status' => true, 'result' => $result); } else { return array('status' => false, 'result' => $result); } }
function test_GatewayRespectsMakeDefault() { $result = Braintree_Customer::create(); $this->assertTrue($result->success); $customerId = $result->customer->id; $result = Braintree_CreditCard::create(array('customerId' => $customerId, 'number' => '4111111111111111', 'expirationDate' => '11/2099')); $this->assertTrue($result->success); $clientToken = Braintree_ClientToken::generate(array("customerId" => $customerId, "options" => array("makeDefault" => true))); $authorizationFingerprint = json_decode($clientToken)->authorizationFingerprint; $response = Braintree_HttpClientApi::post('/client_api/nonces.json', json_encode(array("credit_card" => array("number" => "4242424242424242", "expirationDate" => "11/2099"), "authorization_fingerprint" => $authorizationFingerprint, "shared_customer_identifier" => "fake_identifier", "shared_customer_identifier_type" => "testing"))); $this->assertEquals(201, $response["status"]); $customer = Braintree_Customer::find($customerId); $this->assertEquals(2, count($customer->creditCards)); foreach ($customer->creditCards as $creditCard) { if ($creditCard->last4 == "4242") { $this->assertTrue($creditCard->default); } } }
function testUnknownCardTypeIndicators() { $customer = Braintree_Customer::createNoValidate(); $result = Braintree_CreditCard::create(array('customerId' => $customer->id, 'cardholderName' => 'Cardholder', 'number' => Braintree_CreditCardNumbers_CardTypeIndicators::UNKNOWN, 'expirationDate' => '05/12', 'options' => array('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); }
function testCreate_throwsIfInvalidKey() { $this->setExpectedException('InvalidArgumentException', 'invalid keys: invalidKey'); Braintree_CreditCard::create(array('invalidKey' => 'foo')); }
function test_rangeNode_amount() { $customer = Braintree_Customer::createNoValidate(); $creditCard = Braintree_CreditCard::create(array('customerId' => $customer->id, 'cardholderName' => 'Jane Everywoman' . rand(), 'number' => '5105105105105100', 'expirationDate' => '05/12'))->creditCard; $t_1000 = Braintree_Transaction::saleNoValidate(array('amount' => '1000.00', 'paymentMethodToken' => $creditCard->token)); $t_1500 = Braintree_Transaction::saleNoValidate(array('amount' => '1500.00', 'paymentMethodToken' => $creditCard->token)); $t_1800 = Braintree_Transaction::saleNoValidate(array('amount' => '1800.00', 'paymentMethodToken' => $creditCard->token)); $collection = Braintree_Transaction::search(array(Braintree_TransactionSearch::creditCardCardholderName()->is($creditCard->cardholderName), Braintree_TransactionSearch::amount()->greaterThanOrEqualTo('1700'))); $this->assertEquals(1, $collection->maximumCount()); $this->assertEquals($t_1800->id, $collection->firstItem()->id); $collection = Braintree_Transaction::search(array(Braintree_TransactionSearch::creditCardCardholderName()->is($creditCard->cardholderName), Braintree_TransactionSearch::amount()->lessThanOrEqualTo('1250'))); $this->assertEquals(1, $collection->maximumCount()); $this->assertEquals($t_1000->id, $collection->firstItem()->id); $collection = Braintree_Transaction::search(array(Braintree_TransactionSearch::creditCardCardholderName()->is($creditCard->cardholderName), Braintree_TransactionSearch::amount()->between('1100', '1600'))); $this->assertEquals(1, $collection->maximumCount()); $this->assertEquals($t_1500->id, $collection->firstItem()->id); }
private function addCreditCardToBrainTree($arrCCData) { $result = Braintree_CreditCard::create($arrCCData); return $result; }
function testDelete_worksWithCreditCards() { $paymentMethodToken = 'CREDIT_CARD_TOKEN-' . strval(rand()); $customer = Braintree_Customer::createNoValidate(); $creditCardResult = Braintree_CreditCard::create(array('customerId' => $customer->id, 'number' => '5105105105105100', 'expirationDate' => '05/2011', 'token' => $paymentMethodToken)); $this->assertTrue($creditCardResult->success); Braintree_PaymentMethod::delete($paymentMethodToken); $this->setExpectedException('Braintree_Exception_NotFound'); Braintree_PaymentMethod::find($paymentMethodToken); integrationMerchantConfig(); }
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 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(array('customerId' => $customer->id, 'number' => '5105105105105100', 'expirationDate' => '05/2011', 'cvv' => '200', 'options' => array('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); }
function testUpdateAndMakeDefault() { $customer = Braintree_Customer::createNoValidate(); $creditCardResult = Braintree_CreditCard::create(array('customerId' => $customer->id, 'number' => '5105105105105100', 'expirationDate' => '05/12')); $this->assertTrue($creditCardResult->success); $http = new Braintree_HttpClientApi(Braintree_Configuration::$global); $nonce = $http->nonceForPayPalAccount(array('paypal_account' => array('consent_code' => 'PAYPAL_CONSENT_CODE'))); $createResult = Braintree_PaymentMethod::create(array('customerId' => $customer->id, 'paymentMethodNonce' => $nonce)); $this->assertTrue($createResult->success); $updateResult = Braintree_PayPalAccount::update($createResult->paymentMethod->token, array('options' => array('makeDefault' => true))); $this->assertTrue($updateResult->success); $this->assertTrue($updateResult->paypalAccount->isDefault()); }
/** * @param $customer * @param $data * * @return bool */ private function createCard($customer, $data) { $card = \Braintree_CreditCard::create(array('customerId' => $customer->customer->id, 'number' => $data['creditCardNumber'], 'expirationDate' => "{$data['expirationMonth']}/{$data['expirationYear']}", 'cardholderName' => $data['cardHolderName'], 'cvv' => $data['securityCode'], 'options' => array('makeDefault' => true))); return $card; }
public function createCard($data) { $result = Braintree_CreditCard::create($data); if ($result->success) { return array('success' => 1, 'payment_method_token' => $result->creditCard->token); } else { return array('success' => 0, 'validation_errors' => $result->errors->deepAll()); } }
/** * Creates a saved card in the vault for an existing braintree customer * * @since 2.0 * @param \WC_Order $order * @throws WC_Gateway_Braintree_Exception if credit card creation or card verification (optional) fails * @return \WC_Order with credit card token added */ protected function create_credit_card($order) { // define credit card info $credit_card = array('customerId' => $order->braintree_order['customerId'], 'cardholderName' => $order->billing_first_name . ' ' . $order->billing_last_name, 'number' => $this->get_post('number'), 'expirationMonth' => $this->get_post('month'), 'expirationYear' => $this->get_post('year'), 'billingAddress' => array('firstName' => $order->billing_first_name, 'lastName' => $order->billing_last_name, 'company' => $order->billing_company, 'streetAddress' => $order->billing_address_1, 'extendedAddress' => $order->billing_address_2, 'locality' => $order->billing_city, 'region' => $order->billing_state, 'postalCode' => $order->billing_postcode, 'countryCodeAlpha2' => $order->billing_country), 'options' => array('verifyCard' => true, 'failOnDuplicatePaymentMethod' => true)); // add CVV if ($this->is_cvv_required()) { $credit_card['cvv'] = $this->get_post('cvv'); } // create customer and add card to vault $response = Braintree_CreditCard::create(apply_filters('wc_braintree_create_credit_card', $credit_card, $order)); // check for success if ($response->success) { $order->braintree_order['paymentMethodToken'] = $response->creditCard->token; // always add credit card token to order update_post_meta($order->id, '_wc_braintree_cc_token', $order->braintree_order['paymentMethodToken']); } else { // failed to create credit card or card verification failed (if requested) throw new WC_Gateway_Braintree_Exception('credit_card', $response); } return $order; }
public function updateCard($config, $data) { $common = new Common(); $updateData = array(); $oldCardExists = false; $session = new Container('frontend'); \Braintree_Configuration::environment($config['payment_gateway']['tree_env']); \Braintree_Configuration::merchantId($config['payment_gateway']['merchant_id']); \Braintree_Configuration::publicKey($config['payment_gateway']['public_key']); \Braintree_Configuration::privateKey($config['payment_gateway']['private_key']); $cardDetails = $common->getUserCardDetails($config['api_url']['value'], array('user_id' => $session->userid)); //print_r($cardDetails); exit; $card = isset($cardDetails[0]) ? $cardDetails[0] : ''; if (!is_array($data)) { parse_str($data, $data); } if (isset($card) && is_array($card)) { try { $result = \Braintree_CreditCard::find($card['creditCardDetails_token']); $oldCardExists = true; } catch (\Exception $ex) { $oldCardExists = false; //echo $ex->getMessage(); } try { $delete = \Braintree_CreditCard::delete($card['creditCardDetails_token']); } catch (\Exception $ex) { //echo $ex->getMessage(); } } if (!isset($data['creditCardDetails_token']) && !isset($data['customerDetails_id'])) { $result = \Braintree_CreditCard::create(array('customerId' => isset($card['customerDetails_id']) ? $card['customerDetails_id'] : '', 'number' => $data['card_no'], 'cvv' => $data['cvv'], 'expirationDate' => $data['month'] . '/' . $data['year'], 'cardholderName' => $data['name_on_card'], 'options' => array('makeDefault' => true))); if ($result->success) { $data['creditCardDetails_token'] = $result->creditCard->token; $data['customerDetails_id'] = $result->creditCard->customerId; } else { return array('status' => 0, 'msg' => $result->message, 'errors' => $result->errors->deepAll()); } } $updateData['user_id'] = $session->userid; $updateData['card_expiration_hash'] = isset($data['card_expiration_hash']) ? $data['card_expiration_hash'] : md5($data['month'] . '-' . $data['Year']); $updateData['creditCardDetails_token'] = $data['creditCardDetails_token']; $updateData['customerDetails_id'] = $data['customerDetails_id']; isset($card['use_for_renew']) ? $updateData['use_for_renew'] = $card['use_for_renew'] : ''; isset($data['use_for_renew']) ? $updateData['use_for_renew'] = $data['use_for_renew'] : ''; $res = isset($card['id']) ? $this->api->curl($config['api_url']['value'] . '/api/card_details/' . $card['id'] . '/', $updateData, 'PUT') : $this->api->curl($config['api_url']['value'] . '/api/card_details/', $updateData, 'POST'); if ($res->getStatusCode() == 200 || $res->getStatusCode() == 201) { return array('status' => 1, 'msg' => 'Card details successfully updated..!!'); } else { return array('status' => 1, 'msg' => 'Failed to update card details..!!', 'errors' => json_decode($res->getBody(), true)); } }