public function testCreateCreditCard_Success()
 {
     $expected = new CreditCard();
     $expected->setCreditCardBrand(CreditCardBrandEnum::MASTERCARD);
     $expected->setCreditCardNumber("5555444433332222");
     $expected->setExpMonth(12);
     $expected->setExpYear(30);
     $expected->setHolderName("gateway");
     $expected->setSecurityCode("999");
     $creditCard = CreditCardHelper::createCreditCard(" 5555 4444 3333 2222 ", " gateway ", " 12/30 ", " 999 ");
     $this->assertEquals($expected, $creditCard);
     $expected->setExpYear(2030);
     $creditCard = CreditCardHelper::createCreditCard(" 5555 4444 3333 2222 ", " gateway ", " 12/2030 ", " 999 ");
     $this->assertEquals($expected, $creditCard);
 }
<?php

require_once dirname(__FILE__) . '/../init.php';
try {
    // Define a url utilizada
    \Gateway\ApiClient::setBaseUrl("url_here");
    // Define a chave da loja
    \Gateway\ApiClient::setMerchantKey("merchant key");
    // Cria objeto requisição
    $createSaleRequest = new \Gateway\One\DataContract\Request\CreateSaleRequest();
    // Cria objeto do cartão de crédito
    $creditCard = \Gateway\One\Helper\CreditCardHelper::createCreditCard("5555 4444 3333 2222", "gateway", "12/2030", "999");
    // Define dados do pedido
    $createSaleRequest->addCreditCardTransaction()->setPaymentMethodCode(\Gateway\One\DataContract\Enum\PaymentMethodEnum::SIMULATOR)->setCreditCardOperation(\Gateway\One\DataContract\Enum\CreditCardOperationEnum::AUTH_ONLY)->setAmountInCents(1098)->setCreditCard($creditCard);
    //Cria um objeto ApiClient
    $apiClient = new Gateway\ApiClient();
    // Faz a chamada para criação
    $response = $apiClient->createSale($createSaleRequest);
    // Mapeia resposta
    $httpStatusCode = $response->isSuccess() ? 201 : 401;
    $response = array("message" => $response->getData()->CreditCardTransactionResultCollection[0]->AcquirerMessage, "data" => $response->getData());
} catch (\Gateway\One\DataContract\Report\CreditCardError $error) {
    $httpStatusCode = 400;
    $response = array("message" => $error->getMessage());
} catch (\Gateway\One\DataContract\Report\ApiError $error) {
    $httpStatusCode = $error->errorCollection->ErrorItemCollection[0]->ErrorCode;
    $response = array("message" => $error->errorCollection->ErrorItemCollection[0]->Description);
} catch (\Exception $ex) {
    $httpStatusCode = 500;
    $response = array("message" => "Ocorreu um erro inesperado.");
} finally {
 /**
  * @dataProvider eloCreditCardNumbers
  */
 public function testCreateEloCreditCard_Success($creditCardNumber)
 {
     $creditCard = CreditCardHelper::createCreditCard($creditCardNumber, "FOO BAR", "10/2999", "123");
     $this->assertEquals($creditCard->getCreditCardBrand(), CreditCardBrandEnum::ELO);
 }