= ActiveMerchant CHANGELOG == HEAD == Version 1.114.0 * BlueSnap: Add address1,address2,phone,shipping_* support #3749 * BlueSnap: Protect against `nil` metadata [carrigan] #3752 * Cybersource: [CyberSource] Ensure the default address doesn't override `ActionController::Parameters` [pi3r] #3755 == Version 1.113.0 * Orbital: Add cardIndicators field [meagabeth] #3734 * Openpay: Add Colombia to supported countries [molbrown] #3740 * Mercado Pago: Update Device Id Header field [cdmackeyfree] #3741 * RuboCop: Fix Style/TrailingCommaInHashLiteral [leila-alderman] #3718 * RuboCop: Fix Naming/PredicateName [leila-alderman] #3724 * RuboCop: Fix Style/Attr [leila-alderman] #3728 * Payflow: Use application_id to set buttonsource [britth] #3737 * HPS: Enable refunds using capture transaction [britth] #3738 * Quickbooks: Omit empty strings in address [leila-alderman] #3743 * BlueSnap: Add transactionMetaData support #3745 * Orbital: Fix typo in PC3DtlLineTot field [naashton] #3736 * Credorax: Send first and last name parameters for CFT transactions [britth] #3748 * Orbital: Update CardIndicators field to fix bug [meagabeth] #3746 * CyberSource: Always send default address [leila-alderman] #3747 * Netbanx: Reject partial refund on pending status [rockyhakjoong] #3735 == Version 1.112.0 * Cybersource: add `maestro` and `diners_club` eci brand mapping [bbraschi] #3708 * Cybersource: Ensure Partner Solution Id placement conforms to schema [britth] #3715 * Adyen: Adyen: Pass `subMerchantId` as `additionalData` [naashton] #3714 * Litle: Omit checkNum when nil [leila-alderman] #3719 * PayU Latam: Improve error response [esmitperez] #3717 * Vantiv: Vantiv Express - CardPresentCode, PaymentType, SubmissionType, DuplicateCheckDisableFlag [esmitperez] #3730,#3731 * Cybersource: Ensure issueradditionaldata comes before partnerSolutionId [britth] #3733 == Version 1.111.0 * Fat Zebra: standardized 3DS fields and card on file extra data for Visa scheme rules [montdidier] #3409 * Realex: Change 3DSecure v1 message_version to a valid format [shuhala] #3702 * Ingenico/ GlobalCollect: Add field for installments [cdmackeyfree] #3707 * Cybersource: do not send 3DS fields if 'cavv` is missing and `commerceIndicator` is inferred [bbraschi] #3712 == Version 1.110.0 * FirstData e4 v27+: Strip linebreaks from address [curiousepic] #3693 * Adyen: Change shopper_email to email and shopper_ip to ip [rikterbeek] #3675 * FirstData e4 v27+ Fix strip_line_breaks method [carrigan] #3695 * Cybersource: Set authorization on the response even when in fraud review [pi3r] #3701 * Cybersource: Add fields to override stored creds [leila-alderman] #3689 * Cybersource: Conditionally find stored credentials [therufs] #3696 #3697 * Cybersource: Update logic to send cavv as xid for 3DS2 [douglas] #3699 * Credorax: Default 3ds_browsercolordepth to 32 when passed as 30 [britth] #3700 == Version 1.109.0 * Remove reference to `Billing::Integrations` [pi3r] #3692 * DLocal: Handle nil address1 [molbrown] #3661 * Braintree: Add travel and lodging fields [leila-alderman] #3668 * Stripe: strict_encode64 api key [britth] #3672 * Stripe PI: Implement verify action [leila-alderman] #3662 * Stripe, Stripe Payment Intents: Update supported countries [britth] #3684 * Forte: Use underscore for unused arguments in test [wsmoak] #3605 * Add Alia card type [therufs] #3673 * Element: Fix unit tests [leila-alderman] #3676 * PayU Latam: Fix store method [ccarruitero] #2590 * Adyen: Allow for executeThreeD to be passed as false [naashton] #3681 * WorldPay: Fix handling of `state` field for 3DS transactions [chinhle23] #3687 * Alia: Skip Luhn validation [therufs] #3673 * Diners Club: support 16 digit card numbers [therufs] #3682 * Cybersource: Update supported countries [britth] #3683 * Cybersource: pass reconciliation_id [therufs] #3688 * RuboCop: Fix Style/SpecialGlobalVars [leila-alderman] #3669 * RuboCop: Fix Style/StringLiteralsInInterpolation [leila-alderman] #3670 * RuboCop: Fix Layout/HeredocIndentation [leila-alderman] #3685 * RuboCop: Fix Gemspec/OrderedDependencies [leila-alderman] #3679 * RuboCop: Fix Style/TrailingUnderscoreVariable [leila-alderman] #3663 * RuboCop: Fix Style/WordArray [leila-alderman] #3664 * RuboCop: Fix Style/SymbolArray [leila-alderman] #3665 * Mercado-Pago: Notification url GSF [cdmackeyfree] #3678 * Credorax: Update logic for setting 3ds_homephonecountry [britth] #3691 == Version 1.108.0 (Jun 9, 2020) * Cybersource: Send cavv as xid is xid is missing [pi3r] #3658 * Forte: Change default sec_code value to PPD [molbrown] #3653 * Elavon: Add merchant initiated unscheduled field [leila-alderman] #3647 * Decidir: Add aggregate data fields [leila-alderman] #3648 * Vantiv: Vantiv(Element): add option to send terminal id in transactions [cdmackeyfree] #3654 * Update supported Ruby and Rails versions [leila-alderman] #3656 * CI: Drop unused sudo: false Travis directive [olleolleolle] #3616 * PayU Latam: Prevent blank country in billing_address [britth] #3657 * DLocal: Fix address field names [molbrown] #3651 == Version 1.107.4 (Jun 2, 2020) * Elavon: Implement true verify action [leila-alderman] #3610 * Vantiv Express: Implement true verify [leila-alderman] #3617 * Litle: Pass expiration data for basis payment method [therufs] #3606 * Stripe Payment Intents: Error handling and backwards compatibility within refund [britth] #3627 * HPS: Prevent errors when account_type or account_holder_type are nil [britth] #3628 * D Local: Handle invalid country code errors [curiousepic] #3626 * Stripe Payment Intents: Utilize execute_threed flag to determine success [britth] #3625 * Elavon: Add Level 3 fields [leila-alderman] #3632 * CyberSource: Stored Credential fixes [curiousepic] #3624 * CyberSource: Fix invalid and missing field tests [curiousepic] #3634 * CyberSource: Pass stored credentials with purchase [curiousepic] #3636 * Mercado Pago: Add payment_method_option_id field [schwarzgeist] #3635 * Stripe: Provide error when attempting an authorize with ACH [britth] #3633 * EBANX: Send original order id as merchant_payment_code metadata [miguelxpn] #3637 * Element: Add card_present_code field [schwarzgeist] #3623 * Orbital: Add support for Level 3 fields [leila-alderman] #3639 * Firstdata: Strip newline characters from address [bittercoder] #3643 * Forte: add sec_code attribute for echeck [wsmoak] #3640 == Version 1.107.3 (May 8, 2020) * Realex: Ignore IPv6 unsupported addresses [elfassy] #3622 * Cybersource: Set partnerSolutionID after the business rules, fixes 500 error [pi3r] #3621 == Version 1.107.2 (May 7, 2020) * Cybersource: Send a specific card brand commerceIndicator for 3DS [pi3r] #3620 * Cybersource: Send application_id as partnerSolutionID [pi3r] #3620 * Iridium: Localize zero-decimal currencies [chinhle23] #3587 * iVeri: Fix `verify` action [chinhle23] #3588 * Ixopay: Properly support three-decimal currencies [chinhle23] #3589 * Kushki: support `auth` and `capture` [therufs] #3591 * PaymentExpress: Update references to Windcave to reflect rebranding [britth] #3595 * Decidir: Improve handling of error responses from the gateway [naashton] #3594 * CyberSource: Added support for MerchantInformation CyberSource-specific fields [apfranzen] #3592 * ePay: Send unique order ids for remote tests [curiousepic] #3593 * Checkout V2: Send more informative error messages for 4xx errors [britth] #3601 * Elavon: Add ssl_dynamic_dba field [apfranzen] #3600 * iATS Payments: Update gateway to v3 and add support for additional GSFs [naashton] #3599 * Remove deprecated `rubyforge_project` attribute and tidy up unit test output [fatcatt316] #3598 * Elavon: Cleanup inadvertant field removal (avs_address) in #3600 [apfranzen] #3602 * EBANX: Fix transaction amount for verify transaction [miguelxpn] #3603 * iATS Payments: Update gateway to accept `email`, `phone`, and `country` fields [naashton] #3607 * Braintree: Fix response for failed refunds when falling back to voids [jasonwebster] #3608 * Worldpay: Fix response for failed refunds when falling back to voids [jasonwebster] #3609 * iATS Payments: Add support for Customer Code payment method [molbrown] #3611 * HPS: Add Google Pay support [MSmedal] #3597 * Adyen: Parse appropriate message for 3DS2 authorization calls [britth] #3619 * CyberSource: Add error details response fields [schwarzgeist] #3629 == Version 1.107.1 (Apr 1, 2020) * Add `allowed_push_host` to gemspec [mdeloupy] == Version 1.107.0 (Apr 1, 2020) * Stripe Payment Intents: Early return failed `payment_methods` response [chinhle23] #3570 * Borgun: Support `passengerItineraryData` [therufs] #3572 * Ingenico GlobalCollect: support optional `requires_approval` field [fatcatt316] #3571 * CenPOS: Update failing remote tests [britth] #3575 * Realex: Update remote tests [britth] #3576 * FirstData e4 v27: Properly tag stored credential initiation field in request [britth] #3578 * Orbital: Fix stored credentials [chinhle23] #3579 * Acapture(Opp): Update gateway credentials [molbrown] #3574 * Ingenico GlobalCollect: support `requires_approval` field [fatcatt316] #3577 * CyberSource: Fix `void` for `purchase` transactions [chinhle23] #3581 * Checkout V2: Begin to add support for using network tokens for transactions. [arbianchi] #3580 * Opp: Update remote test fixtures [ccarruitero] #3582 * Optimal Payment: Add support for store [britth] #3585 * SecurePay Australia : Update test URL (#3586) == Version 1.106.0 (Mar 10, 2020) * PayJunctionV2: Send billing address in `auth` and `purchase` transactions [naashton] #3538 * Adyen: Fix some remote tests [curiousepic] #3541 * Redsys: Properly escape cardholder name and description fields in 3DS requests [britth] #3537 * RuboCop: Fix Style/HashSyntax [leila-alderman] #3540 * Paypal: Fix OrderTotal elements in `add_payment_details` [chinhle23] #3544 * Stripe Payment Intents: Add tests for "Idempotency-Key" header [fatcatt316] #3542 * Paypal: Fix RuboCop Style/HashSyntax violations [chinhle23] #3547 * Rubocop corrections for space around operators [cdmackeyfree] #3543 * Fat Zebra: Add `is_billing` in post for `store` call [chinhle23] #3551 * SafeCharge: Adds four supported countries [carrigan] #3550 * Ixopay: Support stored credentials [leila-alderman] #3549 * BlueSnap: Adds localized currency support [carrigan] #3552 * CheckoutV2: Use status as message for 3DS txns in progress [britth] #3545 * Stripe Payment Intents: Prevent idempotency key errors for compound actions [britth] #3554 * Adyen: Add tests for voiding with idempotency keys [jknipp] #3553 * Fat Zebra: Fix `store` call [chinhle23] #3556 * Update README to include Adyen [haolime] #3452 * PayJunctionv2: Fix billing address fields [leila-alderman] #3557 * Adyen: Fail unexpected 3DS responses [curiousepic] #3546 * Merchant Warrior: Add support for setting soft descriptors [daBayrus] #3558 * Adyen: Fix stored credentials [chinhle23] #3560 * Update BIN ranges for Alelo and Maestro cards [leila-alderman] #3559 * EBANX: Fix declines if order id is bigger than 40 chars [miguelxpn] #3563 * Moneris US: Remove gateway [chinhle23] #3561 * Decidir: Decidir: Improving the response message when encountering errors [naashton] #3564 * PayBox: Added USERTrust RSA Certification Authority and Sectigo RSA Organization Validation Secure Server CA [baldowl] #3567 == Version 1.105.0 (Feb 20, 2020) * Credorax: Fix `3ds_transtype` setting in post [chinhle23] #3531 * Bambora Apac: Send void amount in options [leila-alderman] #3532 * RuboCop: Fix Layout/IndentHash [leila-alderman] #3529 * Stripe: Add connected account support [Carrigan] #3535 * Redsys: Update scrub method to account for 3DS error responses [britth] #3534 * Authorize.Net: Pass `account_type` to `check` payment types [chinhle23] #3530 * Merchant Warrior: Send void amount in options [leila-alderman] #3525 * Stripe: Add support for `statement_descriptor_suffix` field [Carrigan] #3528 * Decidir: Add support for fraud_detection, site_id, and establishment_name [fatcatt316] #3527 * HPS: support eCheck [therufs] #3500 * EBANX: Add metadata information in post [miguelxpn] #3522 * Worldpay: Add `riskData` GSF [fatcatt316] #3514 * EBANX: Fix `scrub` [chinhle23] #3521 * Worldpay: Remove unnecessary .tag! methods [leila-alderman] #3519 * BPoint: Remove amount from void requests [leila-alderman] #3518 * Authorize.net: Trim supported countries to AU, CA, US [fatcatt316] #3516 * Credorax: Allow optional 3DS 2 fields [jeremywrowe] #3515 * Stripe: Remove outdated 'customer options' deprecation [alexdunae] #3401 * Added support for fraud review in CyberSource gateway [greg-burgoon] #3536 == Version 1.104.0 (Jan 29, 2020) * Adyen: add `recurring_contract_type` GSF [therufs] #3460 * Credorax: Only pass `3ds_version` parameter when required [britth] #3458 * EBANX: Include Peru in supported countries [Ruanito] #3443 * Bluesnap: include fraud data in response message [therufs] #3459 * Ingenico GlobalCollect: support `airline_data` and related GSFs [therufs] #3461 * Add UnionPay card type [leila-alderman] #3464 * Braintree: Fix add_credit_card_to_customer in Store [molbrown] #3466 * EBANX: Default to not send amount on capture [chinhle23] #3463 * Latitude19: Convert money format to dollars [molbrown] #3468 * Adyen: Fix response success for unstore [kheang] #3470 * CyberSource: add several GSFs [therufs] #3465 * Adyen: add `recurring_contract_type` GSF to auth [therufs] #3471 * Stripe Payment Intents: Use localized_amount on capture [molbrown] #3475 * dLocal: Add support for installments [kdelemme] #3456 * Merchant Warrior: Add void operation [leila-alderman] #3474 * Decidir: Update payment method IDs [leila-alderman] #3476 * Adyen: Add delivery address [leila-alderman] #3477 * Authorize.net: Correctly parse direct_response field with quotation marks [britth] #3479 * Decidir: Add debit card payment method IDs [leila-alderman] #3480 * CyberSource: Add issuer data+MDD to credit & void [leila-alderman] #3481 * Credorax: add `authorization_type` and `multiple_capture_count` GSFs [therufs] #3478 * CardStream: use localized_amount to correctly support zero-decimal currencies [britth] #3473 * EBANX: Add additional data in post [Ruanito] #3482 * Credorax: Omit phone when nil [leila-alderman] #3490 * TransFirst TrExp: Remove hyphens from zip [leila-alderman] #3483 * Mundipagg: Return acquirer code as the error code [leila-alderman] #3492 * Braintree Blue: Remove customer hash when using a payment_method_nonce #3495 * Credorax: Update non-standard currencies list [chinhle23] #3499 * Redsys: Update production URL [britth] #3505 * Moneris: include AVS and CoF fields when storing vault records [alexdunae] #3446 * Moneris: Add support for temporary vault storage [alexdunae] #3446 * Clearhaus: Update currencies without fractions list [chinhle23] #3506 * Merchant Warrior: Add recurringFlag to purchase & authorize [carrigan] #3504 * CardConnect: Remove domain port validation [leila-alderman] #3494 * Paymentez: Correct refund and void message parsing [carrigan] #3509 * Mercado Pago: Add taxes and net_amount gateway specific fields [carrigan] #3512 * Moneris: use dedicated card_verification methods [alexdunae] #3428 * Authorize.net: Trim down supported countries [fatcatt316] #3511 * Stripe: Add support for `statement_descriptor_suffix` field [carrigan] #3528 * Stripe: Add connected account support [carrigan] #3535 == Version 1.103.0 (Dec 2, 2019) * Quickbooks: Mark transactions that returned `AuthorizationFailed` as failures [britth] #3447 * Credorax: Add referral CFT transactions [leila-alderman] #3432 * DLocal: Updates for version 2.1 [molbrown] #3449 * CyberSource: Send MDD on capture [leila-alderman] #3453 * Ixopay: Include extra_data gateway specific field [therufs] #3450 * CyberSource: Fix XML error on capture [leila-alderman] #3454 * Adyen: Add gateway specific field for splits [leila-alderman] #3448 * Adyen: Add `unstore` and `storeToken` actions with '/Recurring' endpoint [deedeelavinder][davidsantoso] #3438 * Barclaycard Smartpay: Add functionality to set 3DS exemptions via API [britth] #3457 * Use null@cybersource.com when option[:email] is an empty string [pi3r] #3462 == Version 1.102.0 (Nov 14, 2019) * Quickbooks: Make token refresh optional with allow_refresh flag [britth] #3419 * Paymentez: Update supported countries [curiousepic] #3425 * Ixopay: Add new gateway [jasonxp] #3426 * Ixopay: Add support for currency option to refund method #3433 * Ixopay: Remove default callback URL #3436 * Ixopay: Refactor capture #3431 * Update supported countries list. Add currencies without fractions / with 3 decimal places #3424 * RuboCop: Fix Layout/EndAlignment [leila-alderman] #3427 * RuboCop: Fix Layout/ExtraSpacing [leila-alderman] #3429 * RuboCop: Fix Layout/MultilineOperationIndentation [leila-alderman] #3439 * Worldpay: Update logic to set cardholderName for 3DS transactions [britth] #3444 * Adopt new enrolled key for 3DS1 transactions. enrolled contains the 3… #3442 == Version 1.101.0 (Nov 4, 2019) * Add UYI to list of currencies without fractions [curiousepic] #3416 * Quickbooks: Add OAuth 2.0 support and void action [britth] #3397 * Credorax: Stop always sending r1 parameter [molbrown] #3415 * Rubocop: Layout/RescueEnsureAlignment fix [leila-alderman] #3411 * CyberSource: Send issuer data on capture [leila-alderman] #3404 * Rubocop: Style/IfUnlessModifier [nfarve] #3390 * Redsys: Updates to parse method for non-3DS responses [britth] #3391 * Netbanx: Add 3DS2 Support [Jujhar] #3394 == Version 1.100.0 (Oct 16, 2019) * Stripe: Restore non-auto capture behaviour for card present transactions [PatrickFang] #3258 * Revert "Revert "Worldpay: Switch to Nokogiri"" [curiousepic] #3373 * Adyen: Fix `authorise3d` message for refusals [jeremywrowe] #3374 * Redsys: Set authorization field for 3DS transactions [britth] #3377 * Adyen: Add capture_delay_hours GSF [therufs] #3376 * Credorax: Add support for stored credentials [chinhle23] #3375 * BlueSnap: Add remote tests for Cabal and Naranja [leila-alderman] #3382 * WorldPay: Add Cabal and Naranja remote tests [leila-alderman] #3378 * Rubocop: Indentions [nfarve] #3383 * Worldpay: Handle parse errors gracefully [curiousepic] #3380 * BluePay: Add ability to pass doc_type in refunds and credits [britth] #3386 * Stripe Payment Intents: Fix fallback for Store [waaux] #3343 * Update Securionpay supported countries [hossamhossny] #2472 * Visanet Peru: Add amount argument to Capture [curiousepic] #3389 * Rubocop: Layout/MultilineHashBraceLayout [nfarve] #3385 * CardConnect: Always include additional_data in purchase [therufs] #3387 * CardConnect: Add user_fields GSF [therufs] #3388 * Moneris: Add support for stored credentials [chinhle23] #3384 == Version 1.99.0 (Sep 26, 2019) * Adyen: Add functionality to set 3DS exemptions via API [britth] #3331 * Adyen: Send "NA" instead of "N/A" [leila-alderman] #3339 * Stripe Payment Intents: Set application fee or transfer amount on capture [britth] #3340 * TNS: Support Europe endpoint [curiousepic] #3346 * Redsys: Add 3DS support to gateway [britth] #3336 * Worldpay: Allow multiple refunds per authorization [jknipp] #3349 * MercadoPago: Add remote and unit tests for Naranja card [hdeters] #3345 * CyberSource: Pass commerce indicator if present [curiousepic] #3350 * Worldpay: Add 3DS2 Support [nfarve] #3344 * Credorax: Add 3DS 2.0 [nfarve] #3342 * TNS: Update verison and support pay mode [curiousepic] #3355 * Stripe: Add supported countries [therufs] #3358 * Stripe Payment Intents: Add supported countries [therufs] #3359 * Mundipagg: Append error messages to the message response field [jasonxp] #3353 * Redsys: Add ability to pass sca_exemption and moto fields to request exemptions [britth] #3354 * Credorax: Add A Mandatory 3DS field [nfarve] #3360 * CyberSource: Support 3DS2 pass-through fields [curiousepic] #3363 * Credorax: Add support for MOTO flagging [britth] #3366 * Credorax: Enable selecting a processor [leila-alderman] #3302 * Adyen: Add Cabal card [leila-alderman] #3361 * Decidir: Add remote tests for Cabal and Naranja [leila-alderman] #3337 * Payflow: Pass correct field in Status for 3DS in Payflow [nebdil] #3362 * CyberSource: Use 3DS hash for enrolled field [curiousepic] #3371 == Version 1.98.0 (Sep 9, 2019) * Stripe Payment Intents: Add new gateway [britth] #3290 * Stripe: Send cardholder name and address when creating sources for 3DS 1.0 [jknipp] #3300 * Checkout_v2: Support for native 3DS2.0 [nfarve] #3303 * Adds new Maestro BINs [tanyajajodia] #3305 * eWAY Rapid: If no address is available, default to the name associated with the payment method when setting the Customer fields [jasonxp] #3306 * eWAY Rapid: Fix a bug in which the email was not set in Customer fields if no address was provided [jasonxp] #3306 * eWAY Rapid: Support both `phone` and `phone_number` fields under the `shipping_address` option [jasonxp] #3306 * PayU Latam: Add support for the `merchant_buyer_id` field in the `options` and `buyer` hashes [jasonxp] #3308 * Update Braintree Gem [curiousepic] #3311 * Fat Zebra: Send metadata for purchase and authorize [montdidier] #3101 * TrustCommerce: Add support for custom fields [jasonxp] #3313 * Stripe Payment Intents: Support option fields `transfer_destination` and `transfer_amount` and remove `transfer_data` hash [britth] #3317 * Barclaycard Smartpay: Add support for `shopperStatement` gateway-specific field [jasonxp] #3319 * Stripe Payment Intents: Add support for billing_details on payment methods [britth] #3320 * BlueSnap: add standardized 3DS 2 auth fields [bayprogrammer] #3318 * Barclaycard Smartpay: Add app based 3DS requests for auth and purchase [britth] #3327 * Stripe Payment Intents, Checkout V2: Add support for `MOTO` flagging [britth] #3323 * Braintree Blue: Adding 3DS2 passthru support [molbrown] #3328 * Global Collect: Add Cabal card [leila-alderman] #3310 * WorldPay: Add Cabal card [leila-alderman] #3316 * Decidir: Add Cabal card [leila-alderman] #3322 * PayU Latam: Add Cabal card [leila-alderman] #3324 * dLocal: Add Cabal card [leila-alderman] #3325 * BlueSnap: Add Cabal card [leila-alderman] #3326 * Adyen: added 3DS support through external [rikterbeek] #3294 * Worldpay: Add support for MOTO flagging [britth] #3329 * ePay: 3DS support [AllaWLie] #3321 * Checkout.com: added options[:metadata][:manual_entry] support for MOTO transactions [filipebarcos] #3330 == Version 1.97.0 (Aug 15, 2019) * CyberSource: Add issuer `additionalData` gateway-specific field [jasonxp] #3296 * PayU Latam: Add Naranja card type [hdeters] #3299 * Adyen: Add app based 3DS requests for auth and purchase [jeremywrowe] #3298 * MercadoPago: Add Cabal card type [leila-alderman] #3295 * MONEI: Add external MPI 3DS 1 support [jimmyn] #3292 * Bambora formerly Beanstream: Pass card owner when storing tokenized cards [alexdunae] #3006 * Realex: Prevent error calculating `refund_hash` or `credit_hash` when the secret is nil [jasonxp] #3291 * Orbital: Add external MPI support for 3DS1 [pi3r] #3261 * Paymill: Add currency and amount to store requests [jasonxp] #3289 * Realex: Re-implement credit as general credit [leila-alderman] #3280 * Braintree Blue: Support for stored credentials [hdeters] #3286 * CardConnect: Move domain from gateway specific to gateway field [hdeters] #3283 == Version 1.96.0 (Jul 26, 2019) * Bluesnap: Omit state codes for unsupported countries [therufs] #3229 * Adyen: Pass updateShopperStatement, industryUsage [curiousepic] #3233 * TransFirst Transaction Express: Fix blank address2 values [britth] #3231 * WorldPay: Add support for store method [bayprogrammer] #3232 * Adyen: Support for additional AVS code mapping [jknipp] #3236 * Adyen: Update message for AVS result code 'A' to generically cover postal code mismatches [jknipp] #3237 * CyberSource: Update CyberSource SOAP documentation link [vince-smith] #3204 * USAePay: Handle additional error codes and add default error code [estelendur] #3167 * Braintree: Add `skip_avs` and `skip_cvv` gateway specific fields [leila-alderman] #3241 * NAB Transact: Update periodic test url [mengqing] #3177 * NMI: Add level 3 gateway-specific fields tax, shipping, and ponumber [jasonxp] #3239 * Checkout V2: Update stored card flag [curiousepic] #3247 * NMI: Add support for stored credentials [bayprogrammer] #3243 * Spreedly: Consolidate API requests and support bank accounts [lancecarlson] #3105 * BPoint: Hook up merchant_reference and CRN fields [curiousepic] #3249 * Checkout V2: Stop sending phone number to Checkout V2 integration [filipebarcos] #3248 * Barclaycard Smartpay: Add support for 3DS2 [britth] #3251 * Adyen: Add support for non-fractional currencies [molbrown] #3257 * Decidir: Add new gateway [jknipp] #3254 * Checkout V2: Reapply Update stored card flag [curiousepic] * CyberSource: Update supported countries [molbrown] #3260 * Credorax: Update supported countries [molbrown] #3260 * Kushki: Update supported countries [molbrown] #3260 * Paypal: Update supported countries [molbrown] #3260 * BlueSnap: Send amount in capture requests [jknipp] #3262 * Mundipagg: Add Alelo card support [jasonxp] #3255 * Adyen: Remove temporary amount modification for non-fractional currencies [molbrown] #3263 * Adyen: Set blank state to N/A [therufs] #3252 * MiGS: Add tx_source gateway specific field [leila-alderman] #3264 * NMI: Correct password scrubber to scrub symbols [hdeters] #3267 * Global Collect: Only add name if present [curiousepic] #3268 * HPS: Add Apple Pay raw cryptogram support [slogsdon] #3209 * CardConnect: Fix parsing of level 3 fields [hdeters] #3273 * TrustCommerce: Support void after purchase [jknipp] #3265 * Payflow: Support arbitrary level 2 + level 3 fields [therufs] #3272 * BlueSnap: Default to not send amount on capture [molbrown] #3270 * Spreedly: extra fields, remove extraneous check [montdidier] #3102 #3281 * Cecabank: Update encryption to SHA2 [leila-alderman] #3278 * Checkout V2: Fix 3DS 1&2 integration [nicolas-maalouf-cko] #3240 * Credorax: add 3DS2 MPI auth data support [bayprogrammer] #3274 * Add Kosovo to the list of countries [AnotherJoSmith] #3226 * Realex: Adds 3DS 1&2 support through external MPI [filipebarcos] #3284 * PayPal: Adds 3DS 1 support through external MPI [nebdil] #3279 == Version 1.95.0 (May 23, 2019) * Adyen: Constantize version to fix subdomains [curiousepic] #3228 * Qvalent: Adds support for standard stored credential framework [molbrown] #3227 * Cybersource: Send tokenization data when card is :master [pi3r] #3230 == Version 1.94.0 (May 21, 2019) * Mundipagg: Fix number lengths for both VR and Sodexo [dtykocki] #3195 * Stripe: Support show and list webhook endpoints [jknipp] #3196 * CardConnect: Add frontendid parameter to requests [gcatlin] #3198 * Adyen: Correct formatting of Billing Address [nfarve] #3200 * Stripe: Stripe: Show payment source [jknipp] #3202 * Checkout V2: Checkout V2: Correct success criteria [curiousepic] #3205 * Adyen: Add normalized hash of 3DS 2.0 data fields from web browsers [davidsantoso] #3207 * Stripe: Do not attempt application fee refund if refund was not successful [jasonwebster] #3206 * Elavon: Send transaction_currency if currency is provided [gcatlin] #3201 * Elavon: Multi-currency support [jknipp] #3210 * Adyen: Support preAuths and Synchronous Adjusts [curiousepic] #3212 * WorldPay: Support Unknown Card Type [tanyajajodia] #3213 * Mundipagg: Make gateway_affiliation_id an option [curiousepic] #3219 * CyberSource: Adds Elo Card Type [tanyajajodia] #3220 * CyberSource: Support standalone credit for cards [curiousepic] #3225 == Version 1.93.0 (April 18, 2019) * Stripe: Do not consider a refund unsuccessful if only refunding the fee failed [jasonwebster] #3188 * Stripe: Fix webhook creation for connected account [jknipp] #3193 * Adyen: Upgrade to v40 API version [davidsantoso] #3192 == Version 1.92.0 (April 8, 2019) * BluePay: Send customer IP address when provided [jknipp] #3149 * PaymentExpress: Use ip field for client_info field [jknipp] #3150 * Bambora Asia-Pacific: Adds Store [molbrown] #3147 * Orbital: Pass normalized stored credential fields [curiousepic] #3148 * Adds Elo card type in general and specifically to Adyen [deedeelavinder] #3153 * Mercado Pago: Adds Elo card type [deedeelavinder] #3156 * Litle: Add support for stored credentials [bayprogrammer] #3155 * Adyen: Correctly process risk_data option [bayprogrammer] #3161 * Paymentez: Adds Elo card type [deedeelavinder] #3162 * WorldPay: Adds Elo card type [deedeelavinder] #3163 * Adyen: Idempotency for non-purchase requests [molbrown] #3164 * FirstData e4 v27: Support v28 url and stored creds [curiousepic] #3165 * WorldPay: Fix element order for 3DS + stored cred [bayprogrammer] #3172 * Braintree: Add risk data to returned response [jknipp] #3169 * Adyen: Support idempotency on purchase [molbrown] #3168 * Adyen: Pass phone, statement, device_fingerprint [curiousepic] #3178 * Adyen: Fix adding phone from billing address [curiousepic] #3179 * Fix partial or missing address exceptions [molbrown] #3180 * Adyen: Update to support normalized stored credential fields [molbrown] #3182 * VisaNet Peru: Always include DSC_COD_ACCION [bayprogrammer] #3174 * Adyen: Support adjust action [curiousepic] #3190 * CyberSource: Add support for stored credentials [therufs] #3185 == Version 1.91.0 (February 22, 2019) * WorldPay: Pull CVC and AVS Result from Response [nfarve] #3106 * Worldpay: Add AVS and CVC Mapping [nfarve] #3107 * Paymentez: Fixes extra_params field [molbrown] #3108 * Improved support for account_type using Check class's account_type instead [lancecarlson] #3097 * USA Epay: Allow quantity to be passed and check custom fields [lancecarlson] #3090 * Fix usaepay transaction invoice [lancecarlson] #3093 * Adyen: Handles blank state address field [molbrown] #3113 * Braintree: Send all country fields [curiousepic] #3112 * Braintree: Account for empty string countries [curiousepic] #3115 * Orbital: Support for stored credentials framework [jknipp] #3117 * Openpay: Fix for marking successful transaction(s) as failed [jknipp] #3121 * Braintree: Adds support for transaction_source [molbrown] #3120 * Moneris: Remove redundant card on file guard clause [davidsantoso] #3123 * Switch order of Romania country codes [molbrown] #3125 * Blue Snap: Supports Level 2/3 data [molbrown] #3126 * Blue Snap: Support personal_identification_number [jknipp] #3128 * ProPay: Send 9 digit zip code without dash [molbrown] #3129 * Adyen: Extend AVS code mappings [therufs] #3119 * NMI: Add customer id to authorization on store [curiousepic] #3130 * Trans First Express: Don't pass blank name field [curiousepic] #3133 * TrustCommerce: Send full name on ACH transactions [jknipp] #3132 * Qvalent: Map CVV Result to responses [curiousepic] #3135 * Card Connect: Handle 401s as responses [curiousepic] #3137 * Worldpay: Introduce normalized stored credential options [davidsantoso] #3134 * Worldpay: Adjust use of normalized stored credentials hash [davidsantoso] #3139 * Adyen: Enable Dynamic 3DS [molbrown] #3138 * Fat Zebra: Support voids [curiousepic] #3142 * Blue Snap: Support ACH/ECP payments [jknipp] #3143 * Blue Snap: Fix Card-on-File field typo [jknipp] #3143 * Add Bambora gateway [InfraRuby] #3145 * Bambora Asia-Pacific: Updates Gateway [molbrown] #3145 * PaymentExpress: Support ClientInfo field [jknipp] #3131 * Pin Payments: Concatenate card and customer tokens when storing card [therufs] #3144 * Update Discover regex to allow card numbers longer than 16 digits [prashcr] #3146 * Merrco partial refunds fix [payfirma1] #3141 == Version 1.90.0 (January 8, 2019) * Mercado Pago: Support "gateway" processing mode [curiousepic] #3087 * Braintree: Update gem to latest version [curiousepic] #3091 * Adyen: Pass arbitrary riskData fields [curiousepic] #3089 * Worldpay: Fix cookie header name [curiousepic] #3099 * Paymentez: Adds support for extra_params optional field [molbrown] #3095 * Braintree Blue: Support Level 2 and 3 data fields [curiousepic] #3094 * Braintree Blue: Refactor line_items field [curiousepic] #3100 * TrustCommerce: Use `application_id` [nfarve] #3103 * Stripe: Add 3DS Support [nfarve] #3086 * Cecabank: Append error text to message [therufs] #3127 == Version 1.89.0 (December 17, 2018) * Worldpay: handle Visa and MasterCard payouts differently [bpollack] #3068 * QuickPay: update supported countries [ta] #3049 * WorldPay: set cardholder name to "3D" for 3DS transactions [bpollack] #3071 * Authorize.Net: Support refunds for bank accounts [nfarve] #3063 * Stripe: support specifying a reason for refunds [yosukehasumi] #3056 * Paybox Direct: add support for XPF currency [adam-stead] #2938 * TrustCommerce: Add ACH Ability [nfarve] #3073 * Payeezy: Support $0 for verify transactions [molbrown] #3074 * USA ePay: add support for recurring transactions, custom fields, and line items [lancecarlson] #3069 * Add dLocal gateway [curiousepic] #3709 * dLocal: Require secret_key [curiousepic] #3080 * Adyen: Implement 3DS [nfarve] #3076 * Adyen: Add 3DS Fix [nfarve] #3081 * Payeezy: Add `stored_credentials` [nfarve] #3083 * Fix CVC validation for 0 length CVC [filipebarcos] #3082 * NMI: Supports vendor_id and processor_id fields [molbrown] #3085 == Version 1.88.0 (November 30, 2018) * Added ActiveSupport/Rails master support [Edouard-chin] #3065 == Version 1.87.0 (November 29, 2018) * Barclaycard Smartpay: Improves Error Handling [deedeelavinder] #3026 * Braintree: Fix passing phone-only billing address [curiousepic] #3025 * Litle: Capitalize check account type [curiousepic] #3028 * Braintree: Account for nil billing address fields [curiousepic] #3029 * Realex: Add verify [kheang] #3030 * Braintree: Actually account for nil address fields [curiousepic] #3032 * Mercado Pago: do not infer card type [bpollack] #3038 * Credorax: allow sending submerchant ID (h3 parameter) [bpollack] #3040 * Worldpay: Pass stored credential option fields [curiousepic] #3041 * Make behavior of nil CC numbers more consistent [guaguasi] #3010 * Moneris: Adds Credential on File logic [deedeelavinder] #3042 * Adyen: Return AVS and CVC Result [nfarve] #3044 * Paymentez: Supports phone field, does not send if empty [molbrown] #3043 * Braintree: Account for nil address with existing customer [curiousepic] #3047 * Optimal Payment: Add verify capabilities #3052 * Moneris: Allows cof_enabled gateway to process non-cof transactions [deedeelavinder] #3051 * Cenpos: update supported countries [bpollack] #3055 * CyberSource: update supported countries [bpollack] #3055 * MiGS: update supported countries [bpollack] #3055 * Clearhaus: update submission data format [bpollack] #3053 * Forte: Allow void on capture [nfarve] #3059 == Version 1.86.0 (October 26, 2018) * UsaEpayTransaction: Support UMcheckformat option for echecks [dtykocki] #3002 * Global Collect: handle internal server errors [molbrown] #3005 * Barclaycard Smartpay: allow third-party payouts for credits [bpollack] #3009 * RuboCop: AlignHash [nfarve] #3004 * Beanstream: Switch `recurringPayment` flag from boolean to integer [dtykocki] #3011 * Update Swipe HQ endpoint [bdewater] #3013 * Braintree: Adds device_data [deedeelavinder] #3012 * Payflow Express: Add phone to returned Response [filipebarcos] #3003 * Authorize.Net: Pass some level 3 fields [curiousepic] #3022 * Add state to the netbanx payload [Girardvjonathan] #3024 == Version 1.85.0 (September 28, 2018) * Authorize.Net: Support custom delimiter for cim [curiousepic] #3001 == Version 1.84.0 (September 27, 2018) * PayU Latam: support partial captures [bpollack] #2974 * Braintree: Reflect correct test mode in Braintree responses [elfassy] #2980 * FirstPay: Expose error code [curiousepic] #2979 * Barclaycard Smartpay: Pass device_fingerprint when specified [dtykocki] #2981 * Komoju: remove no-longer-relevant sandbox URL [miyazawadegica] #2987 * [POSSIBLE BREAKAGE] Determine credit cards via functions [bpollack] #2983 * Drop support for Laser cards [bpollack] #2983 * Improve Maestro card detection [bpollack] #2983 * Add ROU alpha3 code for Romania [dtykocki] #2989 * [POSSIBLE BREAKAGE] Drop support for Solo and Switch cards [bpollack] #2991 * Add support for Carnet cards [bpollack] #2992 * Stripe: support a reason for voiding a transaction [whitby3001] #2378 * Payeezy: Add reversal_id in support of timeout reversals [dtykocki] #2997 * Stripe: support Level 3 transaction fields [bpollack] #2996 * Conekta: support Carnet cards [bpollack] #2999 * Openpay: support Carnet cards [bpollack] #2999 * Adyen: Add support for GooglePay [dtykocki] #2971 == Version 1.83.0 (August 30, 2018) * CT Payment: Update How Address is Passed [nfarve] #2960 * Adyen: Add RecurringProcessingModel [nfarve] #2951 * Optimal Payments: update country list [bpollack] #2961 * Ebanx: update sandbox and production URLs [vnbrs] #2949 * Ebanx: support additional countries [vnbrs] #2950 * Gateway generator: fix a typo that would cause the script to crash [bpollack] #2962 * Clearhaus: use $0 for verify transactions [bpollack] #2964 * Global Collect: properly handle partial captures [bpollack] #2967 * Braintree: Add support for GooglePay [dtykocki] #2966 * Adyen: allow overriding card brands [bpollack] #2968 * Adyen: allow custom routing [bpollack] #2969 * First Pay: Adds scrubbing [deedeelavinder] #2972 == Version 1.82.0 (August 13, 2018) * FirstData: add support for WalletProviderID in v27 gateway [bpollack] #2946 * BlueSnap: Handle 403 responses [curiousepic] #2948 * BlueSnap: Add StoreCard Field [nfarve] #2953 * Worldpay: support installments [bpollack] #2957 * Paymentez: support partial refunds [bpollack] #2959 * Payflow: allow support for partial captures [pi3r] #2952 == Version 1.81.0 (July 30, 2018) * GlobalCollect: Don't overwrite contactDetails [curiousepic] #2915 * Pin Payments: Pass reference for statement desc [curiousepic] #2919 * FirstData: introduce v27 gateway [shasum] #2912 * Stripe: Fix contactless magstripe support [abhiin1947] #2917 * ANET: Expose full response code [curiousepic] #2924 * Global Collect: Fix customer data field structure [curiousepic] #2929 * Adyen: Set Default Name for Apple Pay Transactions [nfarve] #2930 * Beanstream: Update to use api key with login credentials [nfarve] #2934 * CT Payments: Fix a typo in the live URL scheme [bpollack] #2936 * CyberSource: Don't throw exceptions on HTML responses [bpollack] #2937 * CyberSource: Remove extraneous parameter blocking echecks [chriscz] #2861 * FirstPay: Update Fields For Recurring Payments [nfarve] #2940 * Remove unused handle_response method [bl] #2309 * Barclaycard Smartpay: bump API version to v30 [bpollack] #2941 * Safecharge: Remove duplicate supported country [curiousepic] * Payflow Express: Use SHIPTONAME instead of `full_name` for shipping address [filipebarcos] #2945 == Version 1.80.0 (July 4, 2018) * Default SSL min_version to TLS 1.1 to comply with June 30 PCI DSS deadline [bdewater] #2909 * Paymentez: return a Result object even when the upstream server 500s [bpollack] #2871 * Drop support for Ruby versions older than 2.3 [bpollack] #2863 * Bridge Pay: don't throw an exception when bank account type is omitted [bpollack] #2873 * Avoid making actual connections in Blue Snap and Mundipagg unit tests [bpollack] #2875 * Avoid making actual connections in the connection unit tests [bpollack] #2876 * Openpay: support payment installments [bpollack] #2865 * First Pay: support recurring charges [bpollack] #2877 * Bridge Pay: pass full name of account type for echeck transactions [bpollack] #2878 * Kushki: do not send 0 for tax values if tax values are not provided [bpollack] #2886 * Payflow: Update ACH tests [curiousepic] #2887 * Credorax: support passing billing description [bpollack] #2889 * MiGS: scrub 3DS fields [abarrak] #2771 * Forte: avoid crashing when location_id or account_id have spaces [bpollack] #2890 * Adyen: Support Network Tokenization Cards via mpiData fields [curiousepic] #2891 * Moneris US: Add ACH [nfarve] #2888 * Realex: Pass amount for captures [curiousepic] #2895 * Card Connect: support storing cards [bpollack] #2896 * Avoid mutating headers passed in for Active Merchant connections [grantbdev] #2892 * Forte: add support for refunds [bpollack] #2898 * Forte: fix a bug in logic for selecting billing names [whitby3001] #2381 * Paymentez: allow capture amount to exceed authorization amount [bpollack] #2900 * JetPay: fix typo in error messages [reynhout] #2749 * Braintree: add support for Maestro cards [matthewheath] #2571 * Visanet Peru: Refund on unsettled transactions [nfarve] #2772 * Remove iDeal offsite gateway references [bdewater] #2807 * Conekta: Allow customer application in headers [curiousepic] #2908 * Payment Express: use testing URLs when testing [oklas] #2231 * Redsys: Fix payments with cc token [Leonardo Diez] #2586 * Redsys: Missing cardnumber params in xml_signed_fields [nerburish] #2628 * Bogus: allow authorizing with a tokenized card [Azdaroth] #2703 * CT Payment: Add new gateway [nfarve] #2911 == Version 1.79.2 (June 2, 2018) * Fix Gateway#max_version= overwriting min_version [bdewater] == Version 1.79.1 (May 31, 2018) * Fix Net::HTTP connections defaulting to connection: keep-alive instead of close since #2862 [bpollack] #2868 * Mundipagg: allow passing holder_document for credit card purchases [bpollack] #2864 * Conekta: support monthly_installments [bpollack] #2866 * Authorize.net: allow sending email_customer set to false [bpollack] #2867 == Version 1.79.0 (May 30, 2018) * Allow setting min/max SSL version for a connection on Ruby 2.5 [bdewater] #2775 * Add `gateways:ssl:min_version` rake task to test upcoming TLS 1.0 deprecation deadline [bdewater] #2775 * Log negotiated SSL version and cipher [bdewater + methodmissing] #2862 * Remove support for Rails < 4.2, add support for Rails 5.2 and Ruby 2.5 [bdewater] * Spreedly: Support verify and find transactions [abarrak] #2798 * Adyen: Support merchant-specific subdomains [curiousepic] #2799 * Fix ENV based configuration of Net::Http for proxies [bbergstrom] #2800 * ANET: Withhold cryptogram for credit [curiousepic] #2804 * Borgun: Remove batch from request parameters [deedeelavinder] #2805 * WorldPay: Remove Inquiry requests in verify transactions [nfarve] #2802 * Credorax: Update tests [curiousepic] #2809 * Braintree: Remove decimal for non-fractional currencies [nfarve] #2806 * Realex: Add documented country support for US and CA [a-salty-strudel] #2810 * Paymentez: Add `tax_percentage` optional parameter [deedeelavinder] #2814 * Braintree: Add `skip_advanced_fraud_checking` optional parameter [deedeelavinder] #2811 * SafeCharge: Additional gateway options [dtykocki] #2816 * FirstPay: Handle missing billing addresses [dtykocki] #2822 * Realex: Add ApplePay Support [nfarve] #2820 * Checkout V2: Additional gateway options [dtykocki] #2821 * CyberSource: Support 3ds validate request [curiousepic] #2823 * Paymentez: Remove card tokenization step from authorize [dtykocki] #2825 * WorldPay: Add 3DS [nfarve] #2819 * EBANX: Interpolate authorization string [curiousepic] #2830 * CyberSource: Support 3DS validation for authorize [curiousepic] #2832 * Redsys: Fix ISO code for PLN [chopenhauer] #2831 * Merchant E Solutions: Support transcript scrubbing [curiousepic] #2836 * Paystation: Support transcript scrubbing [curiousepic] #2837 * Psigate: Support transcript scrubbing [curiousepic] #2835 * Braintree: Adding 3D Secure pass thru capabilities [filipebarcos] #2843 * Authorize.net: Add flexibility for 3D Secure Parameters [filipebarcos] #2844 * Elavon: Update Country List [nfarve] #2840 * WorldPay: Update Country List [nfarve] #2841 * Merchant Warrior: Support transcript scrubbing [curiousepic] #2845 * NAB Transact: Pass nonfractional amounts correctly [curiousepic] #2843 * Realex: Update Country List [nfarve] #2842 * QBMS: Support transcript scrubbing [curiousepic] #2849 * Adyen: Add support for installments [nfarve] #2839 * Paymentez: Read messages on Failure with no error [nfarve] #2850 * Paymentez: Fix response message conditional [curiousepic] #2851 * Add ability to send email receipt [nfarve] #2852 * Barclaycard Smartpay: Pass shopper_interaction [curiousepic] #2853 * Stripe: Treat UGX as a zero-decimal currency [bpollack] #2857 * Mundipagg: Remove Billing Address if no Address Sent [nfarve] #2855 * Paypal: Support more robust scrubbing [curiousepic] #2858 * Stripe: Report internal Stripe errors as failures [bpollack] #2859 * Authorize.net: Add ability to pass `customer_payment_profile_id` [nfarve] #2854 == Version 1.78.0 (March 29, 2018) * Litle: Add store for echecks [nfarve] #2779 * Litle: Add Support for Echeck [nfarve] #2776 * Orbital: Correct level 2 tax handling [deedeelavinder] #2729 * Payeezy: Change determination method of endpoint for store request [deedeelavinder] #2731 * Adyen: Return refusal_reason_raw when present [curiousepic] #2728 * Payeezy: Update Store method [nfarve] #2733 * CenPOS: Remove gzip encoding header [curiousepic] #2735 * Mercado Pago: Allow binary_mode to be changed [nfarve] #2736 * Stripe: Accept strings for refund_fee_amount [curiousepic] #2738 * Orbital: Complete scrub test coverage [curiousepic] #2739 * MIGS: Scrub sensitive data [curiousepic] #2740 * Worldpay US: Scrub sensitive data [curiousepic] #2742 * WorldPay: Remove Israel from supported country list [dtykocki] #2746 * Optimal Payments: Scrub sensitive data [curiousepic] #2743 * USA Epay Transaction: Scrub sensitive data [curiousepic] #2745 * MIGS: Add unit test for scrub [curiousepic] #2747 * Worldpay US: Fix bank account scrub [curiousepic] #2748 * Litle: Add support for merchantData elements [dtykocki] #2751 * Paymentez: Add support for purchasing and authorizatin with tokens [bpollack] #2753 * Ingenico: Remove Trinidad and Tobego from supported country list [bpollack] #2754 * Barclaycard Smartpay: Remove Georgia from supported country list [bpollack] #2755 * Merchant Warrior: Remove requirement for state field [joshnuss] #2638 * Wirecard: Adding missing DigiCert Global Root G2 Cert [filipebarcos] #2759 * Redsys: Add support for CNY, IDR, INR, KRW and TWD [chopenhauer] #2761 * Optimal Payments: Fix scrub for double escaping [curiousepic] #2763 * Orbital: Scrub profile transactions [curiousepic] #2762 * BlueSnap: Fix currency passing [curiousepic] #2765 * Stripe: Support pickup_card decline code [dtykocki] #2764 * Improve scrub testing for five gateways [curiousepic] #2767 * Payflow: Support scrub [curiousepic] #2768 * SecureNet: Support scrub [curiousepic] #2769 * Payeezy: Update transaction method when using stored cards [dtykocki] #2770 * Citrus Pay, DIBS, 1stPayGateway, Global Transport, NETbilling, Ogone, TNS: remove TLS 1.0 requirement [bdewater] #2774 * CardStream: Default IP and customer country [dtykocki] #2773 * Stripe: Support destination amount [dtykocki] #2777 * GlobalCollect: Update supported country list [dtykocki] #2783 * Adyen: Support store action [curiousepic] #2784 * Psigate: Update Test URL and Card [nfarve] #2785 * USA ePay Transaction: Support ACH/eChecks [curiousepic] #2786 * PayU Latam: Support language parameter [dtykocki] #2787 * Payflow: Pass OrderDesc field [curiousepic] #2789 * Global Collect: Add arbitrary fraudField params [curiousepic] #2790 * Paystation: Support verify action [curiousepic] #2793 * Checkout V2: Return error codes in response [curiousepic] #2791 * CardStream: Change refund to use REFUND_SALE [dtykocki] #2795 * Spreedly: Scrub sensitive transaction data [abarrak] #2781 * Stripe: Add `exchange_rate` parameter [WilsonChiang] #2796 * Mundipagg: New Gateway Implementation [nfarve] #2791 == Version 1.77.0 (January 31, 2018) * Authorize.net: Allow Transaction Id to be passed for refuds [nfarve] #2698 * Forte: ensure unit tests are local-only [bpollack] #2696 * Moneris US: ensure unit tests are local-only [bpollack] #2696 * Payflow: Change Verify Method for Amex Cards [nfarve] #2693 * Safe Charge: fix an issue with variable shadowing in the adapter [bpollack] #2697 * Crashnet: add scrubbing support [bpollack] #2695 * Barclays EPDQ: add scrubbing support [bpollack] #2695 * Fat Zebra: add remote scrubbing test [bpollack] #2695 * Clearhaus: add remote scrubbing test [bpollack] #2695 * Borgun: add remote scrubbing test [bpollack] #2695 * Stripe: Added support for the quickchip entry mode option [rbalsdon] * Ogone: Add tests for scrubbing [bpollack] #2700 * Global Transport: Add scrubbing support [bpollack] #2700 * HPS: Add scrubbing support [bpollack] #2700 * FirstData E4: Improve scrubbing and add remote scrubbing test [bpollack] #2700 * Elavon: Add scrubbing support [bpollack] #2700 * Data Cash: Add scrubbing support [bpollack] #2700 * Litle: Fix testing URL [wsmoak] #2673 * Barclays ePDQ Extra Plus: Add missing Entrust root certificates [pacso] #2614 * Moneris US: Add scrubbing support [bpollack] #2702 * Mercury: Add scrubbing support [bpollack] #2702 * Fat Zebra: Tweak remote scrubbing test [bpollack] #2704 * Card Connect: Add new gateway [nfarve] #2706 * Payeezy: Ensure store calls are properly scrubbed [dtykocki] #2709 * Payeezy: Add unit test for scrubbing store call [dtykocki] #2710 * Element: Correct URL used by store transactions [dtykocki] #2711 * Borgun: Add support for specifying TerminalID [bpollack] #2712 * Barclaycard Smartpay: 3DS Implementation [nfarve] #2714 * Payeezy: Surface gateway_message on failure [curiousepic] #2717 * Payment Express: Scrub merchant password [curiousepic] #2723 * Stripe: Fix Partial Application Fee Refunds [curiousepic] #2713 * GooglePay: Support network tokenized cards [joshnuss] #2725 == Version 1.76.0 (January 3, 2018) * PayU Latam: Change default text for description [nfarve] #2669 * Checkout V2: Allows AVS and CVV result details to come through on authorizations [deedeelavinder] #2650 * Global Collect: Adds boolean option for pre_authorization [deeedeelavinder] #2651 * Credorax: Pass Transaction Type field [curiousepic] #2653 * Add CardProcess Gateway [bpollack] #2659 * Safe Charge: Provision 3DS option for approved merchants [deedeelavinder] #2661 * PayU Latam: Require payment_country on initialize [curiousepic] #2663 * Adyen: Remove CVV as Required Field and Determines shopperInteraction [nfarve] #2665 * SafeCharge: add support for VendorID, WebsiteID, and IP logging [bpollack] #2667 * Safe Charge: Adds 3DS flag [deedeelavinder] #2668 * CardProcess: Fix success? to always return true or false [bpollack] #2674 * SagePay: Correct CVV, AVS codes for Sagepay [singhai0] #2670 * PayU Latam: Count pending Voids as successful [curiousepic] #2677 * Mercado Pago: Ensure acess tokens are URL escaped [bpollack] #2675 * MiGS: Update hash format to SHA256 and restore remote tests [bpollack] #2676 * MiGS: Support verify calls [bpollack] #2664 * iATS: Fix Messages with Failure on iATS Server [nfarve] #2680 * Barclaycard Smartpay: Correct repsonse for fraud rejects #2683 * Adyen: Allow incomplete addresses in some situations [bpollack] #2684 * Paymentez: Add new gateway [bpollack] #2685 * PayU Latam: Provide a mechanism to override the amount in verify [dtykocki] #2688 * Mercado Pago: Support X-Device-Session-ID Header [bpollack] #2689 * Mercado Pago: Support arbitrary additional_info JSON [bpollack] #2691 * FirstData E4: Override ECI value for Apple Pay transactions with Discover [jasonwebster] #2671 * Quickbooks: Add payment context to Quickbooks charges and refunds [bdewater] #2694 == Version 1.75.0 (November 9, 2017) * Barclaycard Smartpay: Clean up test options hashes [bpollack] #2632 * Barclaycard Smartpay: Extra data fields for credits [bpollack] #2631 * Cyber Source: Correctly passes subscriptionID for store [deedeelavinder] #2633 * Ebanx: Pass fields for business person responsible [curiousepic] #2635 * Ebanx: Support Colombian transactions [bpollack] #2636 * FirstData E4 (Payeezy): Ensure numeric ECI values are zero padded [jasonwebster] #2630 * Netbanx: Only send currency and billing_details for auths and sales [anotherjosmith] #2643 * Netbanx: Revert "Fixes basic auth for netbanx by sending the account_number and api_key" [anotherjosmith] #2644 * PayU Latam: Adds `partnerID`, adjusts phone preferences, allows empty `ip_address`, and adjusts for no `cvv` [deedeelavinder] #2634 * Sage Payment Solutions: Scrub check info [curiousepic] #2639 * Worldbank US: Allow using the backup URL [bpollack] #2641 * Worldbank US: Allow using the backup URL per-request [bpollack] #2645 == Version 1.74.0 (October 24, 2017) * Adyen: Update list of supported countries [dtykocki] #2600 * Authorize.net CIM: Handle multiple error messages [amandapuff] #2537 * Barclaycard Smartpay: Pass street and house_number fields, in addition to standard address [deedeelavinder] #2603 * Barclaycard Smartpay: Use authorization pspReference for refunds [davidsantoso] #2599 * Beanstream: Pass email fields without address [curiousepic] #2615 * Beanstream: Support recurringPayment for auth, capture, and purchase transactions [dtykocki] #2617 * Borgun: Add support for USD transactions [dtykocki] #2602 * Borgun: Include currency code from split authorization for voids [dtykocki] #2605 * Checkout V2: Expose AVS and CVV results for purchases [dtykocki] #2619 * Credorax: Update response codes [curiousepic] #2595 * CyberSource: Support 3DSecure requests [curiousepic] #2624 * Ebanx: Pass person_type and name for stored cards [curiousepic] #2621 * Ebanx: Support Store and person_type option [curiousepic] #2604 * Elavon: Update endpoint URLs [curiousepic] #2608 * Netbanx: Fix basic auth by sending the account_number and api_key [anotherjosmith] #2616 * Payeezy: Adds support for store [deedeelavinder] #2591 * PayU Latam: Set payment_country gateway attribute [curiousepic] #2611 * Redsys: Support the DKK currency type [bpollack] #2618 * WePay: Only send ip and device for non-recurring transactions [dtykocki] #2597 == Version 1.73.0 (September 28, 2017) * Adyen: Use original authorization pspReference on Refunds [lyverovski] #2589 * Braintree Blue: Explicitly require braintree-ruby version 2.78 [anotherjosmith] * FirstData E4: Scrub 3DS cryptogram [jasonwebster] #2596 * PayHub: Replace single quotes with double quotes in error message [matthewheath] #2572 * Wirecard: Format non-fractional currency amounts correctly [bdewater] #2594 == Version 1.72.0 (September 20, 2017) * Adyen: Fix failing remote tests [dtykocki] #2584 * Authorize.net: Remove numeric restriction on customer ID [dtykocki] #2579 * Authorize.net: Restore default state value for non-US addresses [jasonwebster] #2563 * Beanstream: Do not default state and zip with empty country [dtykocki] #2582 * Braintree Blue: Add eci_indicator field for Apple Pay [davidsantoso] #2565 * Conekta: Add guard clause for details fallbacks [curiousepic] #2573 * Conekta: Pull required details from billing address [nfarve] #2568 * DataCash: Enable refunding recurring transactions [davidsantoso] #2560 * Ebanx: Adds Brazil Specific Parameters [nfarve] #2559 * Kushki: Add support for refunds [dtykocki] #2575 * MercadoPago: Additional tweaks for transaction requests [davidsantoso] * MercadoPago: Default to alphanumeric order_id [davidsantoso] * MercadoPago: Send diners_club cards as diners [davidsantoso] #2585 * PayU Latam: Correctly condition buyer element fields [curiousepic] #2578 * PayU Latam: Pass unique buyer fields and country requirements [curiousepic] #2570 * Qvalent: Support general credit [curiousepic] #2558 * SafeCharge: Update to Version 4.1.0 [nfarve] #2556 * WePay: Don't default API version header [curiousepic] #2567 * WePay: Don't require email for Store [curiousepic] #2588 == Version 1.71.0 (August 22, 2017) * Bambora formerly Beanstream: Change casing on customerIp variable [aengusbates] #2551 * Checkout V2: Add localized_amount support to add_invoice function [nicolas-maalouf-cko] #2452 * Checkout V2: Add UAE to country list [shasum] #2548 * Checkout V2: Fix success response code validation [nicolas-maalouf-cko] #2452 * CreditCall: Only allow AVS when specified [curiousepic] #2549 * CreditCall: Parse additional params from responses [nfarve] #2552 * CreditCall: Parse more response params [nfavre] #2543 * MercadoPago: Small tweaks to building requests [davidsantoso] #2555 * Orbital: Support Network Tokenization Credit Cards [curiousepic] #2553 * Orbital: Updgrade schema version to 7.1 [curiousepic] #2546 * Remove HUF from default non-fractional currencies [curiousepic] #2538 * Stripe: Add support for statement_address parameters for EMV transactions [malcolm-mergulhao] #2524 * TransFirst Express: Don't send address2 without value [nfarve] #2545 * TransFirst Express: Fix Optional Fields Being Passed Blank [nfarve] #2550 * TransFirst: Fix partial refund [nfarve] #2541 * Vantiv (Litle): Pass 3DS fields [curiousepic] #2536 * Braintree Blue: Add phone to options [deedeelavinder] #2564 == Version 1.70.0 (August 4, 2017) * Barclaycard Smartpay: Provider a default billing address house number [nfarve] #2520 * FirstData E4: Fix duplicate XID and CAVV values in tokenized transactions [jasonwebster] #2529 * FirstData E4: Loose XSD validation for Payeezy (FirstData E4) [jasonwebster] #2529 * GlobalTransport: Support partial authorizations [dtykocki] #2511 * Litle: Update schema and certification tests to v9.12 [curiousepic] #2522 * Litle: Update urls and name to Vantiv [curiousepic] #2531 * Mercado Pago: Add gateway support [davidsantoso] #2518 * Orbital: Add support for level 2 data [dtykocki] #2515 * PayU Latam: Pass DNI Number [curiousepic] #2517 * Qvalent: Pass 3dSecure fields [curiousepic] #2508 * SafeCharge: Correct UserID field name [curiousepic] * SafeCharge: Pass UserID field [curiousepic] #2507 * AuthorizeNet: Allow Response Code 4 to be returned as successful [nfarve] #2530 * Forte: Remove order number from captures in Forte Gateway [nfarve] #2532 * PayU Latam: Add additional mandatory fields [deedeelavinder] #2528 == Version 1.69.0 (July 12, 2017) * WePay: Add payer_rbits and transaction_rbits optional fields [davidsantoso] * Adyen: Use Active Merchant standard order_id option for reference [jasonwebster] #2483 * Correct calculation for three-exponent currencies [curiousepic] #2486 * SagePay: Use VPSTxId from authorization for refunds [dtykocki] #2489 * Payflow: Move PAYPAL-NVP header option to a class attribute on the payment gateway [deuxpi] #2492 * Optimal Payments: Pass CVD indicator accurately [curiousepic] #2491 * SagePay: Make Repeat purchase if payment is a past authorization [curiousepic] #2495 * Netbanx: map response errorCodes onto standard error code [iirving] #2456 * Netbanx: Update supported countries and cardtypes [iirving] #2456 * Barclaycard Smartpay: Support 0- and 3-exponent currencies [curiousepic] #2498 * CyberSource: Fix XSD schema validation issues [jasonwebster] #2497 * WorldPay: Support three-decimal currencies [curiousepic] #2501 * NMI: Add first and lastname to echeck transactions [dtykocki] #2499 * PayFlow: Add optional email field [davidsantoso] #2505 * Worldpay: Support Credit on CFT-enabled merchant IDs [curiousepic] #2503 * FirstPay: Add processor_id field [davidsantoso] #2506 * Authorize.Net: Use two character default for billing state [dtykocki] #2496 == Version 1.68.0 (June 27, 2017) * Authorize.Net: Return failed response if forced refund settlement fails [bizla] #2476 * Authorize.net: Concatenate address1 and address2 [dtykocki] #2479 * Braintree Blue: Braintree Blue: Add ECI indicator to Android Pay transactions [davidsantoso] #2474 * Credorax: Support 0- and 3-exponent currencies [curiousepic] * Cybersource: update supported card types [bdewater] #2477 * FirstData: Add a default network tokenization strategy for FirstData E4 [krystosterone] #2473 * FirstPay: FirstPay: Update hostname and force TLSv1 minimum [davidsantoso] #2478 * JetPay V2: Support store transactions and token based payments [shasum] #2475 * Moneris: Add 3DS fields for decrypted Apple and Android Pay data [davidsantoso] #2457 * Openpay: Send customer name and email in authorize and purchase [dtykocki] #2468 * Payflow: Moved to name value pair (NVP) with payflow [jusleg] #2462 * Payflow: Set PAYPAL_NVP header as optional [davidsantoso] #2480 * QuickPay V10: Return last response for purchase and authorize [curiousepic] #2461 * SafeCharge: Map billing address fields [davidsantoso] #2464 * SafeCharge: Track currency from original transaction [davidsantoso] #2470 * Support three-decimal currencies [curiousepic] #2466 * Trexle: Add gateway support [hossamhossny] #2351 == Version 1.67.0 (June 8, 2017) * Acapture: Pass 3D Secure fields [davidsantoso] #2451 * Authorize.net: Pass Level 2 Data Fields [curiousepic] #2444 * Credorax: Add 3D Secure authentication fields [davidsantoso] #2446 * Ebanx: Add gateway support [davidsantoso] #2447 * Ebanx: Reduce supported countries to Brazil and Mexico [davidsantoso] * FirstData Payeezy: Set default ECI value for auth/purchase transactions [jasonwebster] #2448 * JetPay V2: Add new gateway [shasum] #2442 * JetPay V2: Add optional tax data to capture calls [shasum] #2445 * NMI: Add Network Tokenization support [shasum] #2431 * Orbital: Pass soft descriptors from options hash [curiousepic] * Orbital: Update test and production urls [jcowhigjr] #2436 * Payeezy: Add client_email field for telecheck [davidsantoso] #2455 * Payeezy: Add customer_id_type and customer_id_number fields [davidsantoso] #2454 * Quickpay V10: Fix store and token use for recurring payments [wsmoak] #2180 * Elavon: Support custom fields [curiousepic] #2416 * WePay: Support risk headers [shasum] #2419 * WePay: Add Canada as supported country [shasum] #2419 * Fat Zebra: Fix xid 3D Secure field [curiousepic] * SafeCharge: Mark support for European countries [curiousepic] * Checkout V2: Pass customer ip option [curiousepic] * Realex: Map AVS and CVV response codes [davidsantoso] #2424 * Opp: Send disable3DSecure custom parameter if present [davidsantoso] #2432 * SafeCharge: Map standard Active Merchant order_id field [davidsantoso] #2434 * Payeezy: Default check number to 001 if not present [davidsantoso] #2439 * Opp: Fix incorrect customParameter key to disable 3DS [davidsantoso] == Version 1.66.0 (May 4, 2017) * Support Rails 5.1 [jhawthorn] #2407 * ProPay: Add Canada as supported country [davidsantoso] * ProPay: Add gateway support [davidsantoso] #2405 * SafeCharge: Support credit transactions [shasum] #2404 * WePay: Add scrub method [shasum] #2406 * iVeri: Add gateway support [curiousepic] #2400 * iVeri: Support 3DSecure data fields [davidsantoso] #2412 * Opp: Fix transaction success criteria and clean up options [shasum] #2414 == Version 1.65.0 (April 26, 2017) * Adyen: Add Adyen v18 gateway [adyenpayments] #2272 * Authorize.Net: Force refund of unsettled payments via void [bizla] #2399 * Barclays ePDQ: removed because it has been replaced by a new API [bdewater] #2331 * Beanstream: Map ISO province codes for US and CA [shasum] #2396 * Braintree Blue: Change :full_refund option to :force_full_refund_if_unsettled [bizla] #2403 * Braintree Blue: Force refund of unsettled payments via void [bizla] #2398 * Checkout V2: Fix sandbox URL [nicolas-maalouf-cko] #2391 * Checkout V2: Fix success_from not properly checking two possible success codes [davidsantoso] * Cybersource: Rescue XML parse exception [shasum] #2380 * GlobalCollect: Make message and error reporting more robust [curiousepic] #2370 * GlobalCollect: Set REJECTED refunds as unsuccessful transactions [davidsantoso] #2365 * GlobalCollect: Truncate firstName field to 15 characters [davidsantoso] * JetPay: Pass down authorization payment method token to refund a capture [davidsantoso] * Openpay: Support card points [shasum] #2401 * Orbital: Don't send CVV indicator if CVV is not present [curiousepic] #2368 * PayU LATAM: Fix incorrect capture method definition [davidsantoso] * Payeezy: Support dynamic soft descriptors [shasum] #2384 * Pin: Add metadata optional field [shasum] #2363 * Qvalent: Add soft descriptor fields. Add authorize, capture, and void [davidsantoso] * SafeCharge: Add gateway [davidsantoso] * SagePay: Support Repeat transactions [curiousepic] #2395 * Stripe: Support custom application in X-Stripe-Client-User-Agent header [davidsantoso] * TransFirst Transaction Express: Support ACH [curiousepic] #2389 * WePay: Support unique_id for idempotent transactions [shasum] #2367 * Worldpay: Force refund of unsettled payments via void [bizla] #2402 == Version 1.64.0 (March 6, 2017) * Authorize.net: Allow settings to be passed for CIM purchases [fwilkins] #2300 * Authorize.net: Use new `unsupported_feature` standard error code [jasonwebster] #2322 * Base Gateway: Add new `unsupported_feature` standard error code [jasonwebster] #2322 * Braintree Blue: Pass cardholder_name with card [curiousepic] #2324 * Braintree: Add Android Pay meta data fields [jknipp] #2347 * CardStream: Add additional of currencies [shasum] #2337 * Credorax: Return failure response reason [shasum] #2341 * Digitzs: Add gateway [davidsantoso] * Digitzs: Remove merchant_id from gateway credentials [davidsantoso] * GlobalCollect: Pass options to Refund [curiousepic] #2330 * Kushki: Add new gateway [shasum] #2326 * Kushki: Remove body from void call [shasum] #2348 * Linkpoint: Raise ArgumentError when trying to instantiate without `:pem` [jasonwebster] #2329 * Omise: Enable Japan, JPY and JCB support [zdk] #2284 * PayU LATAM: Count pending refunds as succeeded [curiousepic] #2336 * PayU LATAM: Let Refund take amount value [curiousepic] #2334 * Paymill: Send new required fields on tokenization requests [tschelabaumann] #2279 * Revert "Authorize.net: Allow settings to be passed for CIM purchases" [curiousepic] #2339 * Sage: Default billing state when outside US [shasum] #2340 * Stripe: Remove idempotency key from verify [shasum] #2335 * TransFirst Transaction Express: Don't send order_id with refunds [curiousepic] #2350 * TransFirst Transaction Express: Fix improper AVS and CVV response code mapping [shasum] #2342 * WePay: Update API version [shasum] #2349 * USA ePay Advanced: Add quick_update_customer action [joshreeves] #2229 == Version 1.63.0 (February 2, 2017) * Authorize.net: Add #unstore support [jimryan] #2293 * AuthorizeNet: Fix line items quirk [shasum] * CardStream: Add dynamic descriptor option fields [curiousepic] * CardStream: Support PEN currency [shasum] * Culqi: Add new gateway [shasum] * CyberSource: Add Lebanon to supported countries [shasum] * Element: Add AVS and CVV codes to response [shasum] * Firstdata E4 (Payeezy): Set correct ECI value for card present swipes [jasonwebster] #2318 * GlobalCollect: On purchase skip capture if not required [davidsantoso] * PaymentExpress: Update supported countries [shasum] * Remove leading or trailing whitespace from credit card name [davidsantoso] * Remove support for Ruby 2.0 [jasonwebster] * Secure Pay AU: Add scrubbing support to Secure Pay AU [bruno] #2253 * Stripe: Fix error in handling of track-only contactless EMV data [jasonwebster] * Vanco: Update test URL [davidsantoso] * WePay: Build fee structure correctly [curiousepic] * WePay: Remove null address fields from request [davidsantoso] * WePay: Update WePay to API version 2016-12-07 [davidsantoso] * Wirecard: Send customer data in requests [davidsantoso] * Worldpay: Add session id attribute [shasum] * Worldpay: Do not default address when not provided [shasum] == Version 1.62.0 (December 5, 2016) * AuthorizeNet: Map to standard AVSResult codes [shasum] * CitrusPay: Add 3DSecureId field [davidsantoso] * CyberSource: Only get alpha2 country code when it's a known country [bruno] #2238 * Fat Zebra: Add scrubbing to Fat Zebra gateway [bruno] #2037 * Monei: Add US and CA as new supported countries [davidgf] #2209 * NAB Transact: Add scrubbing to NAB Transact [bruno] #2038 * iATS: Add scrubbing support to iATS [bruno] #2228 * Stripe: Ensure ECI values for tokenized cards are padded [jasonwebster] #2250 * Forte: Fix incorrect authorization_code response mapping [davidsantoso] * maxiPago: Send currency with request [curiousepic] * Credorax: Map order_id to field H9 [curiousepic] * Authorize.net: Remove duplicate country GB [shasum] * PayU Latam: Add processWithoutCvv2 field [shasum] * Fat Zebra: De-nest soft descriptor fields [curiousepic] * Credorax: Only pass c5 field for billing address1 [davidsantoso] * Orbital: Add support for CLP currency [curiousepic] * Authorize.net: Add line item fields and additional transaction settings [shasum] * Authorize.net: Pass through `header_email_receipt` [shasum] * Stripe: Scrub additional network tokenization related sensitive data [jasonwebster] #2251 * Applying: Worldpay: Format non-fractional currency amounts correctly [jasonwebster] #2267 == Version 1.61.0 (November 7, 2016) * Add codes AQ, BQ, SX, and SS to list of countries and update SD numeric code [zxlin] * AuthorizeNet: Update supported countries list [shasum] * Barclay SmartPay: Add support for credit [shasum] * Barclaycard SmartPay: Update supported countries [shasum] * BluePay: Add Canada to supported countries list [shasum] * BlueSnap: Update countries list [shasum] * Braintree Blue: Add Android Pay support [mrezentes] * Braintree Blue: Add remote test to verify card token [shasum] * Braintree Blue: Get Android Pay tx id from payment method, not options [mrezentes] * CardStream: Add MXN currency code [curiousepic] * CardStream: Set captureDelay to zero on purchase [davidsantoso] * CitrusPay: Add gateway [duff] * CitrusPay: Update URL to current API version [davidsantoso] * Clearhaus: Fix refund of captures [duff] * Clearhaus: Update list of non fractal currencies [curiousepic] * Clearhaus: Use localized amount [curiouspic] * Conekta: Add void action [MauricioMurga] * Credorax: Add gateway support [davidsantoso] * CyberSource, Paymill, Payflow: Add verify_credentials [duff] * CyberSource: Combine auth_reversal with Void [curiousepic] * CyberSource: Increase merchant defined data fields [davidsantoso] * CyberSource: Look up alpha2 country code [curiousepic] * CyberSource: Use localized_amount [curiousepic] * Element: Pass order_id and shipping address [curiousepic] * Fat Zebra: Add cavv, xid, and sli fields [curiousepic] * Fat Zebra: Fix improper descriptor nesting [curiousepic] * Find countries if they are differently cased [curiousepic] * GlobalCollect: Update credit card brand list [curiousepic] * Jetpay: Support endpoint for Canada [shasum] * Linkpoint: Clean whitespace from PEM [curiousepic] * Litle: Retain amount to send in auth reversals [curiousepic] * Litle: add scrubbing support [bruno] * MONEI: Update supported countries list [davidgf] * MiGS: Handle IDR currency [curiousepic] * Migs: Add support for void [mohsenottello] * Migs: Support some additional fields [duff] * Moneris: Fix unit test stubs [shasum] * Moneris: add scrubbing support [bruno] * NMI, FirstData: Support verify_credentials [curiousepic] * Openpay: Add support for verify [duff] * PayJunctionV2: Add gateway support [shasum] * PayU Latam: Add new gateway [shasum] * PayU Latam: Update supported countries list [shasum] * Payflow: Update supported countries list [shasum] * PaypalExpress: Add SoftDescriptor field [talyssonoc] * Redsys: Added DOP and CRC currency [davidsantoso] * Sage: Add support for scrubbing [bruno] * SagePay: Fix truncation [duff] * SecurionPay: Update supported countries list [shasum] * Stripe: Increase authorize amount during verify [davidsantoso] * Stripe: Set minimum authorize amount depending on currency [davidsantoso] * Stripe: Support new network tokenization API params [methodmissing] * Stripe: Update supported countries list [shasum] * TNS and CitrusPay: Support scrub and verify_credentials [duff] * TNS and CitrusPay: Update to version 36 of the API [duff] * TNS: Try TLS v1 [duff] * Telr: Add gateway support [curiousepic] * TransFirsTransactionExpress: Remove blank cvv element [davidsantoso] * TransFirsTransactionExpress: Take into account blank string CVV [davidsantoso] * Vanco: Improve handling of success determination [duff] * Worldpay: Add hcgAdditionalData element [davidsantoso] * Worldpay: Report error code [curiousepic] == Version 1.60.0 (July 4, 2016) * Orbital: Fix CC num leak on profile calls [drewblas] * VisaNetPeru: Add ability to refund [duff] * AuthorizeNet: Fix store using new profile [duff] * Clearhaus: Support private key for signature [curiousepic] * Clearhaus: Copy private_key when stripping [curiousepic] * CertoDirect: Remove gateway [shiroginne] * Braintree: Extra error messaging [jordan-brough] * AuthorizeNetCim: Set error code for AuthorizeNetCimGateway response [ka8725] * Quickpay v10: Remove amount requirement for store [curiousepic] * PSLCards: correct namespace in doc for Response object from ActiveRecord::Billing to ActiveMerchant::Billing [CJ Keeney] * Pagar.me: Add pagar.me [chrisenytc] * Stripe: Update Readme to show stripe support [rhlrjv] * Orbital: Add support for the BRL currency [duff] * GlobalTransport: Require TLSv1 [duff] * Openpay: Allow currency to be specified [darkaz] * DataCash: Use API version 2 [curiousepic] * Stripe: Support verify_credentials [duff] * AuthorizeNet: Support verify_credentials [duff] * BraintreeBlue: Support verify_credentials [duff] * Redsys: Added SAR currency [agseco] * QuickPay: Adding customer_ip for authorize action in quickpay [dinesh] * MaxiPago: add void and refund [shasum] * MaxiPago: Allow processor_id override [duff] * Stripe: Interpret string input to store method as token identifier [bizla] * MaxiPago: Add verify and scrub [shasum] * Stripe: Remove metadata restriction from EMV transactions [bizla] * SagePay: Add optional fields to SagePay requests [cristianstanescu] * CyberSource: Assign default with override for billing address and email [shasum] * CyberSource: Assign default order_id [duff] * TNS: Support asia_pacific endpoint [curiousepic] * TransFirsTransactionExpress: Fix exception [duff] * CyberSource: Add decision manager optional fields [shasum] * CyberSource: Add decision manager optional fields [shasum] * TNS: Add support for TLS v1.2 [curiousepic] * QuickpayV7: Default description field for store operation [duff] * Elavon: Support customer_number field [duff] * Map test_mode_live_card code to new standard error code [berkcaputcu] * Elavon: Pass customer_number correctly [duff] * Stripe: add SG to supported_countries attribute [timbeiko] == Version 1.59.0 (May 18, 2016) * Orbital: Allow AVS parts to be sent sans country [duff] * SecureNet: Return the right error message for declines [duff] * Moneris: Add verify [anellis] * Moneris: Add verify [anellis] * Jetpay: Add support for origin field[anellis] * Jetpay: Don't default origin field [duff] * GlobalCollect: New gateway support [curiousepic] * Openpay: Use strict_encode64 [duff] * Sage: Always pass along the billing state [duff] * VisaNet Peru: New gateway support [shasum] * Worldpay: Allow installationId to be specified at transaction time [duff] * SecurionPay: Support store [shasum] * Barclaycard Smartpay: Proper AVS return codes [curiousepic] * VisaNetPeru: Pass through CVV [duff] * Barclaycard Smartpay: Use strict_encode64 [duff] * VisaNetPeru: Fix error when billing address empty [shasum] * Vanco: Update live_url [duff] * Cardstream: Reference purchase [curiousepic] * Paymill: Fix error handling [methodmissing] * Latitude19: New gateway support [shasum] * BraintreeBlue: remove invalid test assertions [prburke] * Merchant e-Solutions: Pass order_id with capture [curiousepic] * CyberSource: Add rescue for ResponseErrors [curiousepic] * AuthorizeNet: Always pass recurringBilling flag if present [curiousepic] * S5: Pass order_id to TransactionID [curiousepic] * NMI: Set ACH sec_code from options if present [curiousepic] * VisaNet Peru: Refactor merchant_id and purchase_number handling [shasum] * Braintree Blue: Pass descriptor_url field [curiousepic] * VisaNet Peru: Add merchant_define_data option [duff] * Merchant e-Solutions: pass optional 3Dsecure params [curiousepic] * NMI: Fix refunds and voids of echecks [duff] * VisaNet Peru: Pass dummy email when not present [curiousepic] * PayU India: Add Maestro as supported card [curiousepic] * Cashnet: Don't retry [duff] * CardStream: Make Void call Cancel instead of Refund [curiousepic] * Remove AN and KV country codes as they're not recognized by ISO-3166-1 [apdunston] * Worldpay: Pass unchanged amount with correct currency exponent [curiousepic] * Improve our handling of currencies sans fractions [duff] * Stripe: Added support for the contactless magstripe entry mode option [rbalsdon] * VisaNet Peru: Change money format to dollars [shasum] * BlueSnap: Add gateway [duff] * VisaNet Peru: Select the most meaningful gateway error message [shasum] * SecurionPay: Update country list [duff] * Support for BIN 2 MasterCard brand detection [rbalsdon] * CardStream: Fix signature calculation [duff] * CyberSource: Update test and live URL [marquisong] * AuthorizeNet: Truncate nameOnAccount field [duff] * Tns: Fix ipAddress field [duff] * WorldNet: New gateway support [varyonic] * BraintreeBlue: Allow channel override [duff] * MerchantWarrior: Use Truncated Order Id [ThereExistsX] == Version 1.58.0 (March 1, 2016) * Move Electron check out of CreditCard into CreditCardMethods [ThereExistsX] * CardStream: Add AED and NZD currencies [sdball] * App55: Remove Gateway [ThereExistsX] * Mercury: Stripping the start and end sentinels on card-present track data for max-length track1 requests [ryanbalsdon] * SagePay: Update VISA Electron ranges [sdball] * Clearhaus: Make request signing more transparent & robust [sdball] * NCRSecurePay: Fix production URL [rwdaigle] * Add ACH support to Stripe [sdball] * PayPal Express: Fixing list of currencies without fractions [Krystosterone] * Cashnet: Default custcode option and proper redirect handling [rwdaigle] * TransFirst: Fix missing address and remove CC only fields for ACH [davidsantoso] * More prominent links to contribution docs [rwdaigle] == Version 1.57.0 (February 1, 2016) * AuthorizeNetCim: Add unmaskExpirationDate option [RamilGilmanov] * Element: Add gateway support [davidsantoso] * Cardstream: 3D-secure capture fix [duff] * Auth.net: Update store to create payment profiles [davidsantoso] * CyberSource: Add support for mdd_fields [duff] * Worldpay: Add support for verify [davidsantoso] * Element: Add guard clause to handle undocumented errors [davidsantoso] * Clearhaus: Add tests for signed requests [anellis] * Stripe: Support adding cards to account [anellis] * Clearhaus: Add text_on_statement option [anellis] * Payeezy: Void and verify support [davidsantoso] * Creditcall: Use ecommerce rather than cnp [duff] * Payeezy: Add support for echecks [davidsantoso] * Bridgepay: Add ability to store cards and pay with token [anellis] * Initial support for Android Pay network tokenization cards [mrezentes] * Transfirst: Fix exception when not all eCheck information is present [davidsantoso] * Auth.net: Add tests for echeck refunds [davidsantoso] * Transfirst: use default values for some eCheck data [davidsantoso] * Element: Update the live URL endpoint [davidsantoso] * Element: Parse responses from unexpected API errors [davidsantoso] * Transfirst: Remove unused fields for echeck [davidsantoso] * Sage: Internal refactoring into a single gateway class w/ common http conn [anellis] * Cardstream: Adjust authorize and capture transactions [anellis] * NCRSecurePay: New gateway support (Monetra white-label) [rwdaigle] * Element: Map ReferenceNumber to order_id [duff] * Element: Use a better MotoECICode default [duff] * BraintreeBlue: Return transaction id for failed transactions when available [prburke] * PayPal: Add InContextPaypalExpressGateway [xuorig] * TransFirst: CVV is a required tag [duff] * Checkout V2: Add Descriptor Name and City Options [anellis] * Forte: Pass order_id [anellis] * Merchant ESolutioins: Truncate order_id [anellis] * Transfirst Transaction Express: New gateway support [sdball] * Stripe: Add `stripe_account` header option [anellis] * Cardstream: Add AVS code and message [anellis] * Barclaycard Smartpay: New gateway support [curiousepic] * Transfirst: Fix missing address and remove CC only fields for ACH [davidsantoso] * Stripe: Support ACH payments [sdball] * NCRSecurePay: Fix production URL [rwdaigle] * Clearhaus: Make request signing more transparent & robust [sdball] * SagePay: Properly detect Electron brand [sdball] * Mercury: Fix for max-length track 1 [ryanbalsdon] == Version 1.56.0 (December 1, 2015) * Add Cardknox gateway [dlehren] * Mercury: Add support for card present track 2 [ryanbalsdon] * Cardstream: Improve default currency handling [duff] * Mercury: Strip start and end sentinels on track 2 [ryanbalsdon] * Redsys: Support new SHA256 authentication method [davidsantoso] * Cashnet: Allow custcode override [duff] * Add Rails 5 support [rafaelfranca] * Set required Ruby version for install to 2 or greater [rafaelfranca] * JetPay: Pass ud_fields in capture too [duff] * Stripe: Correctly detect test mode refunds [aprofeit] * Fix variables in remote gateways test template [sdball] * Micropayment: Update fieldnames for new API [duff] * Fix CreditCard#valid_number? erroring on non-digit characters [PatrickTulskie] * Stripe: Correctly detect test mode voids [methodmissing] * Garanti: Add test mode URL and update remote test credentials [cbilgili] * Cashnet: Allow custcode override on refund [duff] * Omise: Add a new optional api_version config [zdk] * Elavon: Include IP address in purchase and authorize requests [aprofeit] * TransFirst: Add support for ACH and more operations [davidsantoso] * FirstData_e4: Fix void for even dollar transactions [duff] == Version 1.55.0 (November 9, 2015) * CyberSource: send customer IP address when provided [fastjames] * Braintree: Simplify Braintree scrubbing when no transcript [duff] * AuthorizeNet: Allow market_type override [duff] * FirstData_e4: Support level_2 data [duff] * FirstData_e4: Fix level_2 and level_3 [duff] * MerchantWareFour: Use Void not PreAuthorizationVoid [duff] * JetPay: Allow partial captures [duff] * Creditcall: Fix production url [duff] * FirstData_e4: Fix float error in Void [duff] * Micropayment: Upgrade to new API [mrezentes] * Netbilling: Add order_id to user_info [mrezentes] * Stripe: scrub swipe/track, EMV data out of gateway transcripts [girasquid] * Remove integration_mode [mattfawcett] * Allow setting CVV requirement at instance level [fabiokr] * Add SecurionPay gateway [szajbus] * AuthorizeNet: Don't send currency to void [duff] * Add Komoju gateway [k2nr] * Replace Connection magic numbers with constant references [larrylv] * Add CAMS gateway [trevorgrayson] * PayPal Express: Fix AllowedPaymentMethod [edclements] * Litle: Store credit card from PayPage [dontmatta] * Orbital: Deprecate profile management API [ntalbott] * FirstData e4: Honor currency when supplied [tchill] * Authorize.net: Add config_error standard error code [andrewpaliga] * PayPal Express: Add support for TotalType in SetExpressCheckout [gingerhendrix] * eWay Rapid: Add :invoice option [DylanFM] * Braintree: Add nonce payment method [eric1234,cwoodcox] * Payflow: Allow passing of 3D Secure details via options [marquisong] * Elavon: Support capture via CCCOMPLETE without credit card [marquisong] * Securenet: Allow setting test_mode independently [wedstar] * Replace Base.integration_mode and Base.gateway_mode with just Base.mode [aprofeit] * Micropayment: Allow specification of a project [duff] * QuickpayV10: Truncate order_id [duff] * FirstData_e4: Fix Level 2 data [duff] * Remove some duplication around name handling [duff] * FirstData_e4: Support Tax1Number [duff] * Add Transact Pro gateway [varyonic] * Add Payeezy gateway [huoxito] * USAePay: Add test mode setting via options [marquisong] * Add Clearhaus gateway [dinesh] * WorldpayOnlinePayments: Fix logic to determine success [ao] * Paymill: store order_id in description field [nikoloff] * TWD isn't a zero decimal currency [duff] * PaypalExpress: Use custom zero decimal currencies [duff] * Stripe: Migrate from /refund to /refunds [matthelm] * Bogus: Adding basic EMV support [ryanbalsdon] * PayBox Direct: Refunds and working test credentials [ivanfer] * Vanco: Handle case of no billing_address [duff] * BluePay: Add support for CUSTOM_ID2 field [ajporterfield] * Creditcall: Handle no verification_value [duff] == Version 1.54.0 (October 2, 2015) * Beanstream: Add Network Tokenization support [girasquid] * CenPOS: Allow order_id on void [duff] * Provide better insight to CVV usage in requests [davidsantoso] * Ogone: Add verify [duff] * Beanstream: Add verify [mrezentes] * PayPal: Map standard error codes [JakeCataford] * Checkout.com: Fix an issue with empty phone numbers. [anotherjosmith] * Quickpay: Edit store and add ability to purchase with stored card [anellis] * Stripe: Set `receipt_email` to Stripe request if receipt delivery is requested [miccheng] * Worldpay US: Add eCheck support [mrezentes] * FirstData_e4: add level_3 data [mrezentes] * Vanco: Support passing ip address [duff] * Paybox Direct: Currency parsing fix [ivanfer] * QuickpayV10: Remove currency requirement from store. [anellis] * Raven: Use TLS 1.2 endpoint [bslobodin] == Version 1.53.0 (September 1, 2015) * Redsys: Add a number of currencies [agseco] * Raven: update description, test url, and routing; fix tests [bslobodin] * Raven: do not pass default (incorrect) PaymentType to #void [bslobodin] * Add scrubbing to a number of gateways [anellis] * BluePay: Add scrubbing [anellis] * BraintreeBlue: Allow custom logger [duff] * MerchantWareFour: Truncate invoiceNumber [duff] * S5: Pass recurrence_mode in store [duff] * QuickPay: Support 2-letter country codes in V10 API [girasquid] * Stripe: Support validate:false field on store [anellis] * CheckoutV2: Use correct live_url [duff] * QuickPay: strip # from Order IDs before submission [girasquid] * Litle: Use schema version 9.4 rather than 8.18 [anellis] * Litle: Add decrypted apple_pay [anellis] * QuickPay: fix method signature on #void [girasquid] * Forte: Add gateway [davidsantoso] * Stripe: return refund id for refund authorization [anellis] * Paypal: Update api version [anellis] * TNS: Translate countries to alpha3 codes [anellis] * TNS: Handle non existent country [duff] * TNS: Rescue Errors [anellis] * CenPOS: Support avs_result and cvv_result [tjstankus] * Stripe: Add application fee only on non-EMV transactions [bizla] * Stripe: don't send blank, non-nil values [girasquid] * Ogone: Send different auth type for mastercard [anellis] * Cardstream: Add "type" field support [rwdaigle] * Cardstream: 3dsecure transaction option [rwdaigle] * Paystation: Map order_id to non-unique merchant reference field [anellis] * Cardstream: Check for nil street address [anellis] * Checkout.com and CheckoutV2.com: Update country list [duff] * Cardstream: Handle nil addresses [rwdaigle] * MiGS: Allow passing in currency [alovak] * [POSSIBLE BREAKAGE] NMI: No longer use auth.net emulator [rwdaigle] * SecureNet: Add DEVELOPERID if supplied [wedy] * Braintree: Update country list [duff] * NMI: Don't include dup_seconds if nil [rwdaigle] * QuickPay: Make all operations to v10 platform synchronous [ta] * QuickPay: Handle issue where no operations exists on payment [ta] * NMI: Support merchant_defined_fields [duff] * QuickpayV10: Add verify [anellis] * BraintreeBlue: Use wiredump_device for logging only if present [braintreeps] * QuickpayV10: Add scrubbing [anellis] * QuickPayV10: Change tests to point to proper gateway [anellis] * Monei: Add default options argument [davidgf] * Ogone: Add additional 3d-secure parameters [ntalbott] * Ogone: Refactor signature calculation [ntalbott] * Add Creditcall gateway [davidsantoso] * Redsys: Fix scrubbing for failed transactions [davidsantoso] * Micropayment: Support Micropayment gateway [rwdaigle] * USAePay: Use names from the given billing and shipping address [marquisong] * Stripe: Add application fee on EMV authorize calls [bizla] == Version 1.52.0 (July 20, 2015) * Authorize.Net: Add device type to authorize.net retail requests [abecevello] * Vanco: Change transaction type to WEB for echecks [duff] * PayPal: Allow soft descriptor to be specified [davidsantoso] * Authorize.net: Add disable_partial_auth field [anellis] * SagePay: Add apply_avscv2 field [anellis] * S5: Add Store [anellis] * Merchant Ware v4: Add support for verify [davidsantoso] * Mercury: No longer default to allow partial auth [duff] * PayPal: Fix soft_descriptor and support soft_descriptor_city [duff] * Merchant Ware: Add scrubbing [davidsantoso] * Stripe: Make purchase via vaulted card consistent [duff] * Moneris: Add network tokenization support [andrewpaliga] * Ogone: Allow specifying a timeout value for requests [tomhipkin] * PayU India: Increase allowed txnid to 30 characters [ntalbott] * Authorize.Net: Allow passing device type through options, make wireless POS the default [abecevello] * Authorize.Net: Update to new Akamai URL [taf2] * Braintree: Add hold_in_escrow [anellis] * Stripe: Allow purchases with tokens without customer specification [bizla] == Version 1.51.0 (July 2, 2015) * Garanti: Illegal character '&' parsing response [masaruhoshi] * Stripe: Revert force USD for verify [duff] * Litle: Surface XML validation errors in the response [jasonbosco] * Litle: Pass the credit card verification value for tokenization (#store) requests, if one is set. [jasonbosco] * S5: Make scrubbing regex less greedy [duff] * CardStream: Add support for verify [anellis] * Authorize.net: UTF-8 encode requests [duff] * Banwire: Add default email [anellis] * PayU India: Handle bad JSON [ntalbott] * Dibs: Pass CVC param only if there's a value [bruno] * Sage: Credit really is credit not refund [duff] * Sage: Add ability to refund [duff] * Cardstream: Add scrubbing [anellis] * Litle: Add debt_repayment_flag [duff] * iATS: Support ACH [rwdaigle] * CheckoutV2: Add Gateway [anellis] * CenPOS: Fix refund amount issue [duff] * Add error_code mapping and error_code_from to gateway generator [jnormore] * Stripe: Parse EMV ARC from error response [bizla] * Redsys: Add MYR currency [agseco] * Add "contactless" flag to credit card model [davidseal] * Stripe: Add "contactless" flag support to gateway [davidseal] * Add encrypted_pin data to credit card model [ryanbalsdon] * Stripe: Add encrypted_pin support to gateway [ryanbalsdon] * Stripe: Support mapping advanced decline codes to standard codes [abecevello] * Epay: filter out invalid characters in returned URLs [dwradcliffe] * Redsys: Strip leading zeroes from currency codes [agseco] * Authorize.net: Add invoice information to refund [marquisong] * Authorize.net: Add store ability [duff] * Paystation: Add refund [mrezentes] * Paystation: No longer require order_id everywhere [duff] * Checkout: Support descriptor_name and descriptor_city [duff] * Add supports_network_tokenization? to gateways [jnormore] * Bpoint: Handle message for invalid login [anellis] * TransFirst: Add scrubbing [davidsantoso] * TransFirst: Add back a few request fields [davidsantoso] == Version 1.50.0 (June 1, 2015) * Vanco: Add gateway [duff] * Conekta: Move device fingerprint to root [MauricioMurga] * Conekta: Change default language to Spanish [MauricioMurga] * Vanco: Improve authentication handling [duff] * Vanco: Allow specification of fund_id [duff] * S5: Add gateway [davidsantoso] * SecureNet: Truncate order_id [duff] * [POSSIBLE BREAKAGE] Stripe: Be explicit about API version [duff] * Dibs: Add gateway [mrezentes] * Dibs: Rubyize merchant_id and secret_key [mrezentes] * Stripe: Add support for reverse_transfer [duff] * USA ePay: Add support for manual entry indicator [AnotherJoSmith] * Authorize.Net: Add support for manual entry indicator [AnotherJoSmith] * CenPOS: Change description to invoice_detail [mrezentes] * BPoint: Add gateway [tjstankus] * S5: Remove address requirement for purchase and authorize [davidsantoso] * Vanco: Add support for eChecks [duff] * Remove Adyen support [ntalbott] * CenPOS: Use ProcessCreditCard action [duff] * CASHnet: uri encode the merchant gateway name [mrezentes] * S5: Include card brand in request body [davidsantoso] * Vanco: Handle multiple error responses [duff] * Merchant Partners gateway support [rwdaigle] * BPoint: Update params to contain all response data [tjstankus] * BPoint: Support biller_code in options [tjstankus] * Sagepay: Add Verify [anellis] * S5: Build XML with UTF-8 encoding [tjstankus] * Cashnet: Handle unparsable response body [duff] * CenPOS: Allow specification of customer_code [duff] * Allied Wallet: Add gateway [anellis] * S5: set Regex closure on scrubbing method [davidsantoso] * Dibs: Require TLSv1 [duff] * Optimal: Handle case of no billing address [duff] * Omise: Add gateway [zdk] * CenPOS: Simplify currency handling [duff] * Beanstream: Don't treat redirect as success [aprofeit] * Add PayU India gateway [ntalbott] * NetBilling: Require TLSv1 [duff] * S5: Handle recurring transactions without CVV [davidsantoso] * Stripe: Force USD for verify [duff] * PayU India: Prevent shadowing in response parsing [ntalbott] * QuickPay: Add support for v10 API [ta] * Fat Zebra: Fix refund and store signatures [duff] * Fat Zebra: Allow transactions without a CVV [duff] == Version 1.49.0 (May 1, 2015) * Braintree: Add support for AVS error codes [ivanvfer] * MerchantWarrior: Truncate description field [duff] * Braintree: Add service_fee_amount option [duff] * SecureNet: Allow shipping_address[:name] [duff] * MonerisUS: Add verify [mrezentes] * Ezic: Add gateway [duff] * Stripe: Add destination field [cwise] * SecureNet: Fix ordering of shipping field names [duff] * SecurePayAu: Update API URL [girasquid] * Stripe: Add EMV "chip & sign", "chip & offline PIN" and Maestro support [bizla] * Add Errno::EHOSTUNREACH to NetworkConnectionRetries::DEFAULT_CONNECTION_ERRORS [randito78] * Stripe: Add support for idempotency keys [michaelherold] * WePay: Handle JSON::ParserError exceptions [duff] * Borgun: Update country list and homepage url [mrezentes] * AuthorizeNet: Add cvv to request only if it's valid [tjstankus] * Stripe: Bug fix: add amounts only on non-EMV transactions, temporarily omit EMV testcases [bizla] * Ezic: Add support for void [duff] * iATS: Update supported countries [mrezentes] * Ezic: Update supported countries [duff] * AuthorizeNet: Truncate card number [tjstankus] == Version 1.48.0 (April 8, 2015) * Clean up `rake gateways:hosts` output [ntalbott] * Add Axcess MS gateway [timtait] * Add PayHub gateway [grepruby] * Orbital: Improve data formatting [boone] * [POSSIBLE BREAKAGE] USAePay Transaction: Make "void release" the default [dppcode] * Redsys: Add rudimentary vaulting [varyonic] * Exact: Handle 401 failures better [jefflaporte] * SagePay: make `VPSProtocol` user-configurable [boxofrad] * Netbilling: Add store support [cshepherd] * Add Qvalent gateway [markabe] * Expose proxy address and port to gateways [arkes] * Remove Ruby 1.9 [j-mutter] * Qvalent: Do not sent order.ipAddress when storing [markabe] * Qvalent: Fix argument name [bruno] * Qvalent: map card storage reference to authorization [markabe] * Qvalent: Fix scrub replacement, it was too greedy [markabe] * PayConex: Add gateway [duff] * AuthorizeNet: Add credit support [duff] * CenPOS: Add gateway [markabe] * Stripe: Update country list [markabe] * Add Monei.net gateway [leolara] * MerchantWarrior: Fix refund and capture signatures [duff] * CenPOS: Add support for capture and refund [markabe] * Authorize.net: Add support for network tokenization credit cards [jnormore] * Stripe: Add support for passing in metadata for auths and purchases [kitt] * Pin: Pass amount param for captures [ab9] * NAB Transact: Improve store functionality [duff] * Add Worldpay Online Payments [ao] * Fat Zebra: Add multi-currency support [nagash] * Fat Zebra: Add auth/capture capability [nagash] * Fat Zebra: Add soft descriptor support [nagash] == Version 1.47.0 (February 25, 2015) * Authorize.Net: Properly send name in shipping address line, when shipping address is provided [girasquid] * Payflow: Add verify support [ntalbott] * Capture ConnectionError#triggering_exception [ntalbott] * Flo2Cash: Map Reference->:order_id (not :invoice) [ntalbott] * Flo2Cash: Fix card brand handling [ntalbott] * Flo2Cash: Improve error handling & simplify "Simple" gateway [ntalbott] * Remove Vindicia gateway [mutemule] * Firstdata E4: Support other mastercard string [jcbantuelle] * Checkout: Disallow altering endpoint via options [markabe] == Version 1.46.0 (January 20, 2015) * CHANGE: drop `offsite_payments` and `active_utils` as dependencies. [wvanbergen] * CHANGE: remove `OffsitePaymentShim`. You will have to add offsite_payments as a dependency, and update any mentions of `ActiveSupport::Billing::Integration` to `OffsitePayments::Integrations`. [wvanbergen] * QuickBooks Payments: Add adapter [ivanfer, bizla] * Quickbooks: Remove requirement of oauth gem. * PayGate: Add support for refunds [StephanAtG2] * PayPal: Add #scrub for scrubbing PCI information out of HTTP transcripts [girasquid] * Stripe: Add #scrub for scrubbing PCI information out of HTTP transcripts [girasquid] * Cybersource: Add ability to verify a card [duff] * BraintreeBlue: Expose the error code in the response params [duff] * eWay Rapid: Update supported countries and card types [incarnate] * PayPal: Allow specifying ButtonSource at init [ntalbott] * Payflow: Add fraud_review support [ntalbott] * Add IPP gateway [InfraRuby] * Redsys: Fix order_id truncation [duff] * AuthorizeNet: Improve duplicate_window handling [duff] * PayPal: Fix ButtonSource bug [ntalbott] * Checkout: Prevent multiple trackids from being passed [markabe] * Pin: Handle JSON parsing exception in response [duff] * Improve test suite to test against multiple ActiveSupport versions [wvanbergen] * Misc. code cleanup [wvanbergen] * Add Flo2Cash gateway [markabe] * Litle: Allow order_source override [duff] * Quickpay: Add ability to finalize a capture [askehansen] * AuthorizeNet: Prevent test mode using live gateway [duff] * Add Flo2Cash Simple gateway [markabe] == Version 1.45.0 (December 1, 2014) * HPS: Always pass CardHolderData element [SecureSubmit, ntalbott] * PayJunction: Include 'track' parameter if provided [hron] * WebPay: Fix API calls [tomykaira] * Moneris US: Add store, unstore, and update [AntoineInsa] * Moneris US: Add CVV and AVS [AntoineInsa] * Stripe: Add support for statement_description [markabe] * CASHNet: Add support for fname and lname [markabe] * Orbital: Fix customer profile auth/purchase [denis] * Payex: Fix expiry month to allow 4 digit year [duff] * Cashnet: Allow overriding custcode [hoenth] * Cashnet: Fix overridding item_code per transaction [ntalbott] * Add Checkout.com gateway [ravish-ramrakha-cko] * HPS: Add verify support [SecureSubmit] * Add Bank Frick gateway [varyonic] * Add Global Transport gateway [duff] * iATS: Add #store and #unstore [duff] * Authorize.Net: Fix amount formatting [ntalbott] * Authorize.Net: Truncate order_id to 20 characters [ntalbott] * Authorize.Net: Truncate more fields [duff] * Authorize.Net: Truncate invoiceNumber [ntalbott] * Adyen: Add support for verify operation [duff] * USAePay: Add track_data support [louiskearns] * Payex: Use the right url for the purchase call [duff] * Braintree: Allow dynamic descriptors [duff] * Openpay: Add support for device session id [guillermo-delucio, ismaelem] * Redsys: Add support for verify [duff] * Redsys: Handle unknown currencies [duff] * Stripe: Make #unstore signature consistent [duff] * Remove defunct Samurai gateway [ntalbott] * eWay Rapid: Tweak authorization support [duff] * Litle: Add support for dynamic descriptors [duff] * Add TNS gateway [markabe] * TNS: Update countries and supported card types [markabe] * Conekta: Add AMEX as a supported card type [MauricioMurga] * Checkout: pass through currency type [markabe] * Bogus: return standard error codes [jpcaissy] * Add PaymentToken and ApplePayPaymentToken objects for token-based transactions [bizla] * Authorize.Net: Add ApplePay in-app transaction support [bizla] * Stripe: Add ApplePay in-app transaction support [bizla] * eWAY Rapid: Add PartnerID param [j-mutter] * GlobalTransport: Truncate order_id [duff] * Redsys: Allow a description to be specified [duff] * NetworkMerchants: Fix currency [j-mutter] * Redsys: Improve handling of order_id [duff] * Checkout: Add support for void, refund, and verify [markabe] == Version 1.44.1 (Aug 28, 2014) * Allow SSLv3 for PsiGate [mutemule] * Set default :state to n/a for NetworkMerchants [cjoudrey] == Version 1.44.0 (Aug 21, 2014) * Moneris: Add :avs_enabled option [bslobodin] * Stripe: Populate authorization in failed responses, when available [bslobodin] * Moneris: Use the name on the card [duff] * Balanced: More 1.1 API fixes and mappings [ntalbott] * Balanced: Handle "pending" refunds [duff] * Immediately convert credit card date fields to integers [ntalbott] * Balanced: Handle outside card tokens [ntalbott] * Balanced: Do not pass address if zip is missing [ntalbott] * Float active_utils at the patch version instead of the minor version [nwjsmith] * Wirecard: Fix CVV & AVS response handling [alevett] * Consolidate deprecation handling [ntalbott] * Authorize.Net CIM: Do not send x_test_request [danrabinowitz] * Authorize.Net CIM: Pass delimiter through [jsoma] * HPS: Add support for track data [SecureSubmit] * HPS: Fix processing without an address [SecureSubmit] * Balanced: Do not pass address if zip is blank [duff] * Do CreditCard attribute cleanup at assignment [ntalbott] * eWay Rapid: Add auth/capture/void support [ntalbott] * [POSSIBLE BREAKAGE] Remove dependency on active_utils Validateable [ntalbott] * Make all active_utils requires explicit [ntalbott] * Balanced: Handle legacy card tokens [ntalbott] * Braintree Blue: Default verification merchant id [speric] * [POSSIBLE BREAKAGE] Extract integrations into an offsite_payments gem [ntalbott] * [POSSIBLE BREAKAGE] Drop stated/tested compatibility with Rails < 3.2 [ntalbott] * Stop requiring unused CurrencyCode class from active_utils [ntalbott] * Move ActiveMerchant::Error into ActiveMerchant [ntalbott] * Inline RequiresParameters in Gateway & move Country from active_utils [ntalbott] * Quickpay v7: Fix passing acquirers field [moklett] * Quickpay v7: Pass an amount when storing cards [ta & moklett] * Quickpay: Expand list of supported countries [ta] * Validate CreditCard verification value [mnoack] * Authorize.Net CIM: Allow updating a payment profile without a full credit card number [speric] * Wirecard: Add optional CommerceType element [timtait] * Add Borgun gateway [markabe] * [POSSIBLE BREAKAGE] NAB Transact: Allow timeout customization [duff] * Wirecard: Add card store and purchase/authorize by reference [speric] * Worldpay: Add support for Switch cards [dougal] * FirstData e4: Send correct card type [npverni] * Elavon: Add store/update support [npverni] * Wirecard: Catch an empty ERROR Element [timtait] * Finansbank (CC5): Add void/refund/credit support [muhammetdilek] * Wirecard: Use authorization_check for Amex store [npverni] * Elavon: Make void work for authorizations [duff] * Add Commercegate gateway [vitaliyvasin] * Wirecard: Fix "amex" references [mendable] * HPS: Do not pass empty elements [SecureSubmit] * Paymill: Add more supported card types [nikoloff] * Paymill: Add source [nikoloff] * Paymill: Add description for preauthorizations [nikoloff] * Paymill: Add remote tests using tokens [nikoloff] * HPS: Add developer, version number and site trace options [SecureSubmit] * Update 1stPayGateway.Net gateway [rwdaigle] * Payflow: Add verbosity option [doppler] * Allow ignoring the result of any MultiResponse step [ntalbott] * Stripe: Add ability to verify a card [duff] * Paypal: Add ability to verify a card [duff] * Authorize.net: Add ability to verify a card [duff] * Braintree: Add ability to verify a card [duff] * Enhance gateway generator to support verify [duff] * PayPal Express: Add funding source support [baraabourghli] * Optimal: Add IP address to requests [justinplouffe] * Pin: Add authorize & capture support [keithpitt] * Pin: Add update support [keithpitt] * Vindicia: Stop using the vindicia-api gem [ntalbott] * Clean up the warnings fog [ntalbott] * Quickpay: Map options[:ip] for fraud analysis [ta] * SagePay: Truncate fields [duff] * First Data E4: Add ability to verify a card [duff] * Elavon: Add ability to verify a card [duff] * Worldpay: Pass email and IP address [duff] * Worldpay: Use updated address format [duff] * Moneris: Fix address splitting [ntalbott] * FirstData E4: Allow passing CAVV through [Senjai] * Braintree Blue: Remember the capture transaction id [duff] * Eway Rapid: Truncate some fields [duff] * Optimal Payment: Make account mandatory field [rwdaigle] * Worldpay: Improve address defaulting [duff] * Authorize.Net: Add maestro as a supported card type [vparihar01] * Worldpay: Improve address defaults [duff] * Braintree Blue: Pass cardholder_name when tokenizing [radar] * Wirecard: Improve error handling [mendable] * Litle: Add verify support [markabe] * USAePay: Add verify support [markabe] * BridgePay: Add verify support [duff] * Braintree Blue: Add payment_method_token flag [JDutil] * SagePay: Add optional FI fields [rob-anderson] * Iridium: Add AVS and CVV results [X0Refraction] * NAB Transact: Add credit support [nagash] * Braintree Blue: Add application_id support [npverni] * Realex: Add maestro mapping [uriklar] * Add Worldpay US gateway [markabe] * Cybersource: Add shipping address [pkoppula] == Version 1.43.2 (May 12, 2014) * Remove 2Checkout's #line_item due to conflict with Klarna/Shopify [edward] * Auth.Net CIM: Fix ordering of order/trans_id [pdamer] * Add PagoFacil gateway [bhserna, abisosa] * [POSSIBLE BREAKAGE] Stripe: Allow for updating of stored card [speric] * Authorize.Net: Deprecate ARB [ntalbott] * Authorize.Net CIM: Add recurring billing flag [gabealmer] * Spreedly: Add support for :ip [megamoose] * PayPal Express: Improve received_at handling [jwarchol] * PayPal Express: Add ReqBillingAddress flag [johnb-razoo] * Beanstream: Add support for Legato single use tokens [tylerrooney] * PayPal Digital Goods: Allow mobile [tomprats] * Maxipago: Add installment support [alexandremcosta] * Deprecate recurring API support [ntalbott] * NMI: fix CreditCard check [bslobodin] * SagePay: Add tokenization support [kernow] * PayPal Express: Reference transaction details [lrostovsky] * Balanced: Update to API 1.1 [steveklabnik] * Add Cashnet gateway [hoenth] * Conekta: Standardize address options [MauricioMurga] * Wirecard: Add support for reference purchases [timtait] * Worldpay: Add support for external references [matsubo] * Balanced: Voiding a capture is not allowed [duff] * Add HPS gateway (Heartland Payment Systems) [SecureSubmit] * Balanced: Fix handling of 500 errors [ntalbott] * Universal: Remove all billing address fields [bslobodin] * Balanced: Stop creating a customer on each call [ntalbott] * Balanced: Refactor and handle legacy authorizations [ntalbott] * SagePay Form: Update to v3.00 [bslobodin] * GestPay: Use a more specific error class when parsing [odorcicd] * PagSeguro: Improve error handling [celsodantas] * PxPay: Support for newer, query-less redirect URLs [odorcicd, bslobodin] * eWAY Rapid: Update to 3.1 API [atomgiant] * Misc refactorings [justinplouffe] * Remove greedy rescue, and convert some errors to be user-facing [odorcicd] * PayPal Express: pass logo image for setup request [dimko] * Improve credit card validation [duff] == Version 1.43.1 (May 1, 2014) * Merchant Warrior: Scrub names [duff] * Validate Gateway.supported_countries [rwdaigle] * Stripe: Add recurring flag support [bslobodin] * Stripe: Use localized amounts for currencies w/o minor units [bslobodin] * WebPay: Leverage fixes to Stripe to remove duplicate code [bslobodin] * Klarna: Miscellanenous fixes [edward] * Mollie iDEAL: Use order's description [wvanbergen] == Version 1.43.0 (April 24, 2014) * PagSeguro: New offsite integration [celsodantas] * Sage Pay: Fix amount parsing in notifications [berkcaputcu] * Sage Pay: Use API v3.00 [bslobodin] * BridgePay: Switch method of success detection [markabe] * BridgePay: Use Return as TransType for refunds [markabe] * IATS: Complete rewrite using first class API [rwdaigle] * IATS: Fix invalid country code UK -> GB [rwdaigle] * DataCash: Fix refund processing using original authorization [bslobodin] * Transnational gateway renamed to Network Merchants [bslobodin] * PayMill: Handle non-JSON server responses [bslobodin] == Version 1.42.9 (April 15, 2014) * Spreedly: Add ip, description and gateway_specific_fields [faizalzakaria] * Sage (US): Support store/unstore of cards [rwdaigle] * Pin: Add american express to supported cards [nagash] * Raven: Update handling of CVV/AVS [bslobodin] * Raven: Use UUID for RequestID [bslobodin] == Version 1.42.8 (April 4, 2014) * Cecabank: Handle invalid xml response body [duff] * Wirecard: Capture error code in the response [duff] * Litle: Remove gem dependency [duff] * Litle: Fix case of missing address parts [duff] * Universal: Add universal offsite API implementation [bslobodin] * Iridium: Add more currencies [bslobodin] * iDeal: Add Mollie iDeal offsite implementation [wvanbergen, maartenvg] == Version 1.42.7 (March 18, 2014) * SagePay: Add support for ReferrerID [markabe] * Cecabank: Fix expiration date formatting [duff] * Add WePay gateway [faizalzakaria] * SmartPs: Add ECI option to SmartPs [odorcicd] * Rescue and re-raise ActionViewHelperError when offsite helpers raise an error [odorcicd] * Add FirstGiving gateway [faizalzakaria] * FirstGiving: Fix refunds [ntalbott] * Samurai: Handle server errors [ntalbott] * WePay: Fix refund [duff] == Version 1.42.6 (February 24, 2014) * Litle: Truncate order_id [duff] * Conekta: Fix #refund; respect :currency [leofischer] * SagePay: Truncate description field [duff] * Add Cecabank gateway [molpe] * Add Openpay [darkaz] * Openpay: Simplify test versus production mode [duff] * Wirecard: Handle a utf-8 description [duff] * Litle: Partial capture support [ttdonovan] * Ogone: Allow D3D for alias purchases [pwoestelandt] * USAePay Advanced: Fix verification_value mapping [dppcode] * Orbital: Add additional success conditions [boone] * Orbital: Handle special CVV responses [boone] * Balanced: Allow working with balanced.js [michaelherold] * Balanced: Allow passing customer name [michaelherold] * Balanced: Add support for meta [michaelherold] * Improve gateway generator [ntalbott] * Add maxiPago gateway [alexandremcosta] * Authorize.Net: Remove x_test_request support [ntalbott] * Conekta: Add default description [bslobodin] * Add PayDollar integration [bslobodin] == Version 1.42.5 (February 7th, 2014) * Add Doku Indonesia [bizla] * Cardstream: Update gateway to use latest API [odorcicd] == Version 1.42.4 (January 8th, 2014) * DataCash: Set 'ecomm' as capturemethod [DavidGeukers] * Cybersource: Fix subscriptions with a setup fee [ntalbott] * Stripe: Do not pass customer details to the /cards endpoint [michellebu] * Stripe: Allow Stripe API version to be initialized with the gateway [odorcicd] == Version 1.42.3 (December 18th, 2013) * Balanced: Add support for appears_on_statement_as [duff] * Authorize.Net: Make already actioned responses failures [odorcicd] * Add Payex gateway [atomgiant] * Paymill: Fix authorizations [duff] * Braintree Blue: Allow specifying the credit card token [ntalbott] * Braintree Blue: Allow specifying the customer id [ntalbott] * Braintree Blue: Scrub invalid emails and zips [ntalbott] * Braintree Blue: Return :credit_card_token as a top level param [ntalbott] * Braintree Blue: Allow unstoring just a credit card [ntalbott] * Braintree Blue: #store adds cards to existing customers [ntalbott] * USA ePay Advanced: Fix check handling [nearapogee] * USA ePay Advanced: Fix credit card expiration handling [nearapogee] * USA ePay Advanced: Fix handling of custom transaction responses for single items [nearapogee] * USA ePay Advanced: Fix capture amount [nearapogee] * NAB Transact: Fix merchant descriptor with capture/refund requests [nagash] * Braintree Blue: Add custom_fields & device_data parameters [parallel588] * Webpay: Add authorize & capture [keikubo] * MerchantWarrior: Pass description [duff] * Stripe: Separate email from description [duff] * Add Payscout gateway [llopez] * Merchant Warrior: Use billing_address [duff] * Add SoEasyPay gateway [ir-soeasycorp] * Bogus: Add check support [npverni] * Payflow: Add Check support [crazyivan] * Stripe: Allow expanding objects inline [odorcicd] == Version 1.42.2 (November 13th, 2013) * Renew public certificate == Version 1.42.1 (November 13th, 2013) * Signed version of 1.42.0 == Version 1.42.0 (November 13th, 2013) * Fix NoMethodError "tr" for params with dash [TimothyKlim] * Authorize.Net: Add cardholder authentication options (CAVV) support [structure] * CardStreamModern: Added better checks on inputs from the gateway [ExxKA] * Stripe: Send :ip to the gateway instead of :browser_ip [f3ndot] * Wirecard Page: new offsite gateway [mbretter] * Mercury: Add support for requesting a token [kcdragon] * Add App55 gateway [ianbutler55] * UsaEpayTransaction: Support for split payments [GBH] * Add Swipe Checkout gateway [matt-optimizerhq] * Spreedly Core: Allow overriding the gateway token when running a transaction [hoenth] * Spreedly Core: Add order_id [hoenth] * Spreedly Core: Allow store without retain [hoenth] * Stripe: Support multiple cards on account [pierre] * Stripe: Add card_id parameter to unstore call [pierre] * Remove usage of `uname -a` [ntalbott] * Litle: Allow easier access to the response code [duff] * Stripe: Add the option to pass a version header [odorcicd] * Elavon: Update supported countries [duff] * Add Raven PacNet gateway [llopez] * BitPay: Fix BitPay issues and implement Notification#acknowledge [odorcicd] == Version 1.41.0 (October 24th, 2013) * Stripe: Payments won't fail when specifying a customer with a creditcard number [melari] * Add Conekta gateway [leofischer] * Wirecard: Add support for void and refund [duff] * Orbital: Mandatory field fix [juicedM3, jduff] == Version 1.40.0 (October 18th, 2013) * Paymill: Revert Add support for specifying the :customer [melari] * Quickpay: Make v7 of the API default [kvs] * Bitpay: Add return [tahnok] == Version 1.39.2 (October 10th, 2013) * Eway Rapid: Fix a bug with access codes that have equal signs in them [odorcic] == Version 1.39.1 (October 9th, 2013) * Bitpay: Invoice Fix [orenmazor] == Version 1.39.0 (October 9th, 2013) * Moneris: Add optional (off by default) verification_value support [duff] * Citrus: New Integration [viatechs, melari] * Payu Paisa: New Integration [melari] * Spreedly: Pass country with other address fields [hoenth] * SecureNet: Fix order of xml params [duff] * Paymill: Add support for void [duff] * Add MoneyMovers gateway [jeffutter] * Ogone: Add a :store_amount option [rymai] * Ogone: Require TLSv1 [ntalbott] * Moneris: Add support for purchasecorrection [pgib] * Spreedly: Add ability to retain on success [duff] * Spreedly: Pass verification value [duff] * Paymill: Add support for specifying the :customer [Sbastien] * Realex: Correct AVS input format [ExxKA] * USAEpay Transaction: Use sandbox when in test mode [radar] * Braintree Blue: Do not use global config [rdj] * eWay Rapid: Add response messages [BenZhang] * Paysbuy: Add 'Pending' notification status [divineforest] * Cybersource: Use standard :phone field [cade] * Orbital: Fix/tweak AVS codes [boone] * Quickpay: Add v7 support [larspind] * Authorize.Net CIM: Add option to not mark transactions as test [alanandrade] == Version 1.38.1 (September 16, 2013) * Moneris: Remove verification_value support [melari] == Version 1.38.0 (September 6, 2013) * FirstData E4: Include missing address information for AVS and CVV [melari] * Litle: Deprecate credit method in favor of refund [melari] * Moneris: Add verification_value support [duff] * Webpay: Fixes issues with partial JPY currency [keikubo, melari] * SecureNet: Add INVOICENUM and INVOICEDESC optional fields [duff] * Balanced: Make BalancedGateway::Error inherit from ActiveMerchantError [duff] * Balanced: Fix #void interface [duff] * HiTrust: Return correct error message for positive retcodes [melari] * Moving to pessimistic versioning [davefp] == Version 1.37.0 (August 20, 2013) * MerchantWarrior: Fix handling of amounts [duff] * Ipay88: New gateway [kamal, siong1987, jduff] * IATS: New gateway [unkown, jduff] * MerchantWarrior: Send the CVV to the gateway [duff] * PayU: Fix a major bug with status types [melari] * SecureNet: Allow production transactions [duff] * Stripe: Allow a card_not_present_fee to be specified [melari] == Version 1.36.0 (August 2, 2013) * Fat Zebra: More consistent handling of tokens [adrianmacneil] * Add Platron integration [alexwl] * Litle: Support wiredump_device [pierre] * Litle: support paypage registrations [pierre] * SecureNet: Cleanup and refactoring [duff] * Mercury: Proper refund and void support [opendining] * PaymentExpress: Return token in authorization [ntalbott] * Stripe: Support for partial application fee refunds [melari, odorcicd] * NMI: Support for recurring flag [duff] * SecureNet: Use working live url [duff] == Version 1.35.1 (July 22, 2013) * Stripe: Allow application_fees to be refunded via the refund_application_fee flag [melari] == Version 1.35.0 (July 17, 2013) * Add Barclays ePDQ Extra Plus gateway [ntalbott] * PayPal: Add MassPay payment to recipients by UserID [damonmorgan] * Authorize.Net: Add authorization_code to response params [noahlh] * Make Rails 4 a supported version [sanemat] * CyberSource: Add pinless debit card support [JoshMcKin] * Verkkomaksut: Add item title field [kaapa] * Add MerchantWare V4 gateway [hron] * Eway Rapid: Add #store method [adrianmacneil] * Barclays ePDQ Extra Plus: Use correct PROD url [ntalbott] * Hitrust: update test & live urls [melari] * NAB Transact: Add auth & capture support [nagash] * Mercury: Support card-less capture and refund [ntalbott] * Mercury: Support void [ntalbott] == Version 1.34.1 (June 28, 2013) * WorldPay: Add dynamic return URL [jordanwheeler] * Merchant One: New gateway [coteyr, melari] * Balanced: Fix exception for invalid email [duff] * Update supported countries for Paymill & PaymentExpress [duff] * Worldpay: Add support for diners club [duff] * Stripe: Include address with card data [melari] == Version 1.34.0 (June 20, 2013) * PayPal Express gateway: Add unstore support [duff] * Stripe: Send application_fee with capture requests [melari] * Make #unstore method signature consistent across gateways [duff] * Dwolla: Major bug fixes. [capablemonkey, melari] * Stripe: Add support for including track data [melari] == Version 1.33.0 (May 30, 2013) * Netaxept: Completely revamped to use the "M" service type [rbjordan3, ntalbott] * Litle: Void authorizations via an auth reversal [jrust] * Add RBK Money integration [england] * Direcpay: Update test url [ashish-d] * PayPal Express gateway: Add support for creating billing agreements [fabiokr] * PayPal Express gateway: Add reference authorizations [fabiokr] * Add Cardstream Modern gateway [ExxKA] * Pin: Fix special headers [duff] * PayPal Express gateway: Remember the billing agreement id as Response#authorization [duff] * PayPal Express gateway: Allow an amount of 0 [duff] * PayPal Express gateway: Reduce parameter requirements [duff] * Quickpay integration: Update notification parser to handle API v6 [larspind] * Sage gateway: Deprecate #credit call [duff] * Update notification generator to better match current notification class [lulalala] * Paymill gateway: Change .com -> .de [louiskearns] * Quickpay integration: Fix v6 response parsing [larspind] * First Data e4: Add TransArmor store/tokenization support [gabetax] * MerchantWarrior: Format expiration month/year correctly [klebervirgilio] * Add iconv for ActiveSupport 2.3 under Ruby 2.0 [sanemat] * Add Transnational gateway [bvandenbos] * Authorize.Net: Add Check as payment method [andrunix] * Merchant e-Solutions: Add ref number and recurring support [carlaares] * Bogus gateway: Add authorization to purchase response [hron] * Bluepay gateway: Fix Check support; general cleanup [ntalbott] * Dwolla: Fix security issues and enable guest checkout [capablemonkey, schonfeld] * SagePay gateway: Per-transaction 3D-secure selection [ExxKA] * Barclays ePDQ: Handle incorrectly encoded response [jordanwheeler, aprofeit] * Orbital: Bug fixes; add CustomerEmail, Retry Logic, Managed Billing, and Destination Address [juicedM3 * Distinguish invalid vs empty issue_numbers on CreditCards [drasch] * Float Gemfiles to latest Rails [sanemat] * USA ePay Advanced: Fix Check support [RyanScottLewis] * Authorize.Net: Match up Check fields better with eCheck.Net requirements [ntalbott] * Bluepay: Updated to bp20post api [cagerton, melari] * Net Registry: Deprecate credit method [jduff] * Sage: Don't include T_customer_number unless it is numeric [melari] * Auth.net: Don't include cust_id unless it is numeric [melari] * Epay: Deprecate credit method [melari] * New PayU.in Integration [PayU, melari] == Version 1.32.1 (April 4, 2013) * CC5 and Garanti: Remove $KCODE modifications [melari] * Paymill: Add support for store [ntalbott] * USA ePay: Fix misspelling of "Aduth" [joelvh, ntalbott] * Orbital: Fix nil address values throwing exceptions during truncation [melari] == Version 1.32.0 (April 1, 2013) * Optimal: Submit shipping address with requests [jduff] * Iridium: Enable reference transactions for authorize [ntalbott] * Stripe: Add authorize and capture methods [melari] * Pin: Add a default description if none is specified to fix failures [melari] * Litle: Add support for passing optional fields in token based transactions [forest] * Add Finansbank gateway [scamurcuoglu] * Paymill: Use .com instead of .de for save card url [besi] * Worldpay integration: Use more robust endpoint urls [nashbridges] * Braintree Blue: Return CC token in transaction hash [cyu] * Robokassa: Fix signature for empty amount [ukolovda] * Worldpay gateway: Fix error messages for some failures [duff] * Worldpay gateway: Allow settled payments to be refunded [dougal] * Spreedly: Update urls and terminology [duff] * Make card brand error more user friendly [oggy] * DataCash: Update test Mastercard number [jamesshipton] * DataCash: Update test response fixtures [jamesshipton] * Pin: Add Pin.js card token support [nagash] * PayPal Express gateway: Fix error when no address information is in response [pierre] * Ogone: Use BYPSP for ALIASOPERATION [ntalbott] * Paymill: Handle error storing card [duff] * SagePay integration: Add referrer field [melari] * Pin: Add extra headers [duff] * Paymill: Add support for store [ntalbott] * USA ePay Advanced: Fix typo in message credit card data options [joelvh] == Version 1.31.1 (February 25, 2013) * Cybersource: Bug fixes [natejgreene, jduff] == Version 1.31.0 (February 20, 2013) * Worldpay: XML encoding is required to be ISO-8859-1 [dougal] * Worldpay: Add card code for more supported card types [dougal] * Ogone: Add action option [pwoestelandt] * PayPal Express gateway: Add support for BuyerEmailOptInEnable [chrisrbnelson] * Add Paymill gateway [duff] * Add EVO Canada gateway [alexdunae] * Fixed credit card and check interface, used correct method for checking payment type [jduff] == Version 1.30.0 (February 13, 2013) * Add FirstData Global Gateway e4 [frobcode] * PaymentExpress: Add support for optional fields: ClientType and TxnData [moklett] * PaymentExpress: Limit MerchantReference/description to 64 chars [moklett] * Wirecard: description must be no more than 32 characters [moklett] * Litle: Add support for passing a token to the authorize and purchase methods [forest] * PayPal Common: Allow searching for transactions by ProfileID [aq1018] * Add Spreedly Core gateway [duff] * eWay Gateway: Return proper value for authorization [duff] * eWay Gateway: Add support for refunds [duff] * Quickpay: Add support for protocols 5 & 6 [twarberg] * Banwire gateway: Handle JSON::ParserError [duff] * Balanced gateway: Fix unspecified marketplace [duff] * QBMS gateway: Allow partial addresses [duff] * Authorize.Net CIM: Allow omitting card expiration date [shanebonham] * Authorize.Net CIM: Add support for extraOptions to createCustomerProfileTransaction [tpiekos] * Add NETPAY gateway [samlown] * Balanced gateway: Add amount to the refund method signature [ntalbott] * Orbital gateway: Fix void method signature [aprofeit, ntalbott] * Eway Managed: Add 'query_customer' API as #retrieve [cdaloisio] * NetPay: Fix the signature for void [duff] * Cybersource: Add check support [bowmande] * Moneris: Use a capture of $0 for void [ntalbott] * PayPal Express integration: Fix received_at time zone [ntalbott] * NAB Transact: Add refund capability [nagash] * Stripe: Add support for application_fee [duff] * SagePay: Add support for GiftAidPayment [duff] * Wirecard: Add support for partial captures [richardblair] * Add Pin gateway [madpilot] * Balanced: Added support for on_behalf_of_uri to capture [cwise] * Litle: Add support for passing an order_source [forest] * Add Merchant Warrior gateway [pronix, Fodoj, ntalbott] * Use v4 of the MerchantWare API for voiding transactions [melari] * Add support for Authorize.net in CA and GB [melari] * Send customer's IP to Beanstream for fraud review [melari] == Version 1.29.3 (December 7, 2012) * Braintree Blue: Better wiredump_device support [ntalbott] * Braintree: Store sets vault id as authorization [ntalbott] * WorldPay: Fix currencies without fractions like JPY and HUF by rounding down amount [Soleone] == Version 1.29.2 (December 7, 2012) * Moneris: fix issue with the default options not being merged [jduff] * Sage Pay: Make 0000 default post code for everyone if missing [BlakeMesdag] == Version 1.29.1 (December 5, 2012) * Add eWay Rapid 3.0 gateway [ntalbott] * Fix AVS responses missing attributes [jduff] == Version 1.29.0 (November 30, 2012) * Authorize.Net gateway: Support description and order_id for capture [ntalbott] * Add Mercury gateway [adr1anx, opendining] * Webmoney integration: Add gross, item_id, and amount accessors to notification [fr33z3] * Fix running tests under ActiveSupport 2.3.14 [ntalbott] * SagePay Form integration: Remove dependency on ActiveSupport's String#truncate [ntalbott] * Elavon gateway: Add support for the sales tax parameter [stevestmartin] * Add WebPay gateway [keikubo] * iTransact gateway: make void API consistent [frobcode] * Stripe gateway: Pass city in add_address [npverni] * Paypal gateway: Add option to change the outstanding balance of a recurring billing profile [mattwhite] * Mercury gateway: Fix authorizations API [ntalbott] * Mercury gateway: Support refund properly [ntalbott] * Braintree Blue gateway: Add support for the recurring flag [ntalbott] * Add HDFC gateway [ntalbott] * HDFC gateway: Add more supported currencies [ntalbott] * HDFC gateway: Add support for passing ECI value [ntalbott] * HDFC gateway: Allow setting test mode via options [ntalbott] * HDFC gateway: Pass phone number in UDF3 [ntalbott] * HDFC gateway: Fix unescaped '&' entity in XML [ntalbott] * HDFC gateway: More robust entity fixing [ntalbott] * Add A1Agregator integration [england] * Refactored handling of #test? and @options [ntalbott] * Realex gateway: Realex gateway: Fix billing address format [ntalbott] * Orbital gateway: handle custom AVS response codes [jonm-okc] * Orbital gateway: Fix infinite connection retry [jonm-okc, ntalbott] * PayPal integration: Add support for MassPay IPN notifications [damonmorgan] * Orbital gateway: Fix status of void result [jonm-okc] * Add Redsys gateway [samlown] * Cybersource gateway: Add support for subscription credit [fabiokr] * Use Thor for generators [ntalbott] * Psigate gateway: Add void support [samuelreh] * Add Liqpay integration [beorc] * Paypal Express gateway: Add shipping accessor to response [v-fedorov] == Version 1.28.0 (August 10, 2012) * PayPal Express: support non standard locale codes [Soleone] * Litle: allow setting test mode per transaction [jduff] * Add Banwire gateway [acolin] * Authorize.Net CIM gateway: Move cardCode after order to comply with the XSD [davetron5000] * Add WebMoney integration [Mehonoshin] * EasyPay: Make symmetric with other integrations [nashby] * Add Paysbuy integration [divineforest] * Bogus gateway: Use last digit for pass/fail [mipearson] * Elavon gateway: Separate from Viaklix, implement refund & void [duff] * Orbital gateway: Update to API version 5.6 and add support for profile requests [rbarazi] == Version 1.27.0 (August 10, 2012) * Add First Data integration [courtland] * Add WebPay integration [nashby] * Add Suomen Maksuturva integration [akonan] * Payway gateway: Fix card storage [BenZhang] * Payflow Pro gateway: Add MaxFailPayments support [gregwinn] * Add Paxum integration [Mehonoshin] * Add Balanced gateway [mjallday] * Plug'n Pay gateway: Add tests for partial capture [csaunders] * Braintree Blue gateway: Add credit card details to responses [dougbradbury] * PayPal gateway: Support for 'Full' refund type [kurenn] * Worldpay: fix refund [jduff/omh] * Add PxPay offsite integration [boourns] * Wirecard: always capture 'authorization' transaction [ntalbott] * Add rake task to verify ssl certs [boourns] == Version 1.26.0 (July 6, 2012) * Orbital gateway: fix broken requests by ensuring the order of XML elements matches their DTD [Soleone] * CyberSource gateway: clean up formatting [ntalbott] * Netbilling gateway: Add refund/credit/void support [ntalbott] * Add PayGate XML gateway [rubyisbeautiful] * Add PayWay gateway [BenZhang] * PayWay gateway: Tweaks to make more ActiveMerchant like [ntalbott] * Netbilling gateway: Fix error handling [ntalbott] * Netbilling gateway: Add refund/credit/void support [zenom, ntalbott] == Version 1.25.0 (July 3, 2012) * eWAY gateway: Add support for Diners Club cards [Soleone] * Orbital gateway: Never send country code for orders outside of US, CA and GB [Soleone] * Add EasyPay integration [nashby] * Updating LitleOnline requirement to 8.13.2 to take advantage of better validation and get bugfix for Username [GregDrake] * USAepay gateway: Add description support [ntalbott] * Add Paypal Payments Advanced integration [csaunders] * Authorize.Net gateway: Improve #refund docs [neerajdotname] * Wirecard gateway: Fix for missing address hash [ntalbott] * Clean up requires of RubyGems and JSON gems. Rename remote Litle test to match naming conventions [codyfauser] * Cybersource gateway: Fix updating address only [fabiokr] * Cybersource gateway: Move email requirement [fabiokr] * Add the Metrics Global gateway [DanKnox] * Braintree Blue gateway: Support wiredump_device [moklett] * Add Fat Zebra gateway [amasses] * Braintree Blue gateway: Always pass CVV on update [shayfrendt] * eWAY gateway: Update docs. Require address [juggler] * Cybersource gateway: Add support for subscriptions [fabiokr] * WePay: Use better endpoint for recurring with no CVV [davidsantoso] == Version 1.24.0 (June 8, 2012) * PayPal gateway: Support for incomplete captures [mbulat] * Moneris gateway: Add support for vault [kenzie] * NAB Transact gateway: Add support for card descriptors [nagash] * SagePayForm: truncate long description fields [jnormore] * Paybox Direct: treat all response codes besides '00000' as failures [Soleone] * Deprecate CreditCard#type method in favor of CreditCard#brand [jduff] * Cybersource gateway: Add subscriptions support [fabiokr, jaredmoody] * eWay gateway: Improved docs, and more accurate required parameters [juggler] * Braintree Blue gateway: Always pass CVV on card update [shayfrendt] * Add Fat Zebra gateway [amasses] * Braintree Blue gateway: Add support for wiredump_device [moklett] * Add Metrics Global gateway [DanKnox] * Cybersource gateway: Do not require email address for subscription operations [fabiokr] * Cybersource gateway: Fix passing only an address when updating a subscription [fabiokr] * Wirecard gateway: Fix for missing address; general cleanup [ntalbott] * Authorize.Net gateway: Document ability to just pass the last four to #refund [neerajdotname] * Add EasyPay integration [nashby] == Version 1.23.0 (May 23, 2012) * Add Litle gateway [GregDrake] * PaymentExpress gateway: add support for BillingId and DpsBillingId for token [mikel] * 2checkout integration: Add ability to auto settle [craigchristenson] * 2checkout integration: Switch default mode to single page [craigchristenson] * Cybersource: Revert - Add retrieve method to pull details on a stored card [jduff] * Cybersource: Revert - Add recurring payment support [jduff] * PaymentExpress: add Cvc2Presence flag when submitting verification value [jduff] * SecurePayAU: fix CreditCard check [jduff] * Barclays: fix order capture [csaunders/ntalbott/jduff] == Version 1.22.0 (May 17, 2012) * Remove version restriction for money gem [ylansegal] * Add iTransact XML gateway [motske] * PayPal Express Gateway: add options[:landing_page] [markus] * USA ePay: Fix handling of AVS [duff] * Ogone: Add store method to create an alias without making a purchase [joelcogen] * Spelling fix: purcahse -> purchase [mnoack] * ePay: Added more useful results for authorization errors [Dennis O'Connor] * Add Robokassa integration [nashby] * PayPal Gateway: Add recurring API [dscataglini] * Braintree: Add support for :verify_card option on store [brentmc79] * Moneris: cannot void a preauthorization [eddanger] * Add Moneris US gateway [eddanger] * Add Dotpay integration [kacperix] * Payflow: Add description, comment and comment2 tags [ksnyder] * Dotpay: Fix field mapping [kacperix] * Authorize.Net CIM: Optionally add 'order' details to transactions [pote] * Braintree: Allow including billing address when storing a customer [brentmc79] * PayPal Gateway: Refactored PaymentDetails & PaymentDetailsItem common code [dscataglini] * Viaklix/Elavon: Separate "demo accounts" from "test transactions" [mltsy] * PayPal Gateway: Add transaction_details, balance, authorize_transaction, and manage_pending_transaction API calls [dscataglini] * PayPal Gateway: Add support for TransactionSearch & DoReferenceTransaction [dscataglini] * Cybersource: Add recurring payment support [jaredmoory] * Tidy up gateway lists [ashokak] * Paybox: remove Iconv usage [ntalbott] * Dotpay: Add amount mapping, pin setter, and support for test? [kacperix] * Braintree Blue: Make address country map to alpha2 [ntalbott] * Use GB as the alpha2 country code for the UK [ntalbott] * Realex: Handle XML response with unescaped ampersand [ntalbott] * Add Vindicia gateway [steved555] * Payment Express: use %w[] for country list [parndt] * Braintree Blue: Match remote test up with change to :country [braintreeps] * PayPal Integration: Fix received_at method time parsing [subbarao] * Add MiGS Gateway [mnoack, nagash] * Quickpay integration: Fix payment_service_for helper [TheMaster] * Braintree Blue gateway: Improve update method [brentmc79] * 2checkout integration: Add mode mapping & line items helper [AlexanderZaytsev] * USA ePay Advanced gateway: Fix expiration date format. [cctalbott] * Add ePay integration [ePay] * 2checkout integration: Add support for single page payment routine [AlexanderZaytsev] * Ogone: Add support for 3D Secure [rymai, ZenCocoon] * Stripe gateway: Remove authorize and capture methods since they are not supported [jduff] * Stripe gateway: default test to false if no livemode parameter is specified [jduff] * Paybox Direct gateway: 'card absent' and 'do not honour' should be considered failures, not fraudulent [jduff] * Add Verkkomaksut integration [akonan] * Remove trailing spaces from generator templates [akonan] * Payflow gateway: Allow modification of RetryNumDays [jrust] * Payflow gateway: Don't auto-set start_date on modification [jrust] * Bluepay gateway: Add ACH & recurring support [jslingerland] * Orbital gateway: Don't send AVS address details for any country besides US, CA, GB and UK [Soleone] * Payflow Express gateway: Better amount handling [jduff] * Barclays gateway: Allow American Express [duff] * Ogone gateway: Remove duplicated method [ntalbott] * Cybersource gateway: Add retrieve method to pull details on a stored card [fabiokr] == Version 1.21.0 (March 7, 2012) * Stripe: Add support for passing IP [collision] * Merchant e-Solutions: pass expiration date when purchasing with a stored credit card [chrisyoung] * Braintree: Fix passing custom processor ids to old accounts [maxsilver] * Authorize.net CIM: Add validation mode option to create_customer_profile_request [jwood] * eWay Managed: Include transaction number in response params [jamsi] * Fix various hash ordering issues exposed by Ruby 1.8 [ntalbott] * Authorize.Net CIM: Add WEB echeck type [deathbob] * Move Braintree from the gemspec to the Gemfile [ntalbott] * Add CertoDirect gateway [hron] * Authorize.Net CIM: Add option for setting a custom delimiter [bmorton] * Authorize.Net CIM: Add 3.1 response fields [bmorton] * Authorize.Net CIM: Misc fixes and doc improvements [bmorton] * Authorize.Net CIM: Fix error when order is blank [KeeperPat] * Beanstream: Add recurring payments support [castiglione] * Make ePay password optional [ePay] * Quickpay: skip testmode if transaction provided [brentmc79] * Payflow: add additional fields [thorstadt] * Authorize.Net CIM: Add get_customer_profile_ids [howaboutwe] * PayPal Express: Add support for BrandName and Custom fields [exviva] * Payflow: Handle dates with leading zeros [jcoleman] * Authorize.Net CIM: Add CCV code support & improve tests [tgarnett] * Add Authorize.Net SIM integration [courtland & rdp] * Secure Pay AU: Handle periodic payments [tommeier] * Viaklix: Add discover as a supported card type [waelchatila] * Improvements to testing infrastructure for integrations [jduff] * Add NAB Transact (AU) Gateway [tommeier] * PayPal Express: Add Support for Reference Transactions using BAIDs [kenmazaika] * Authorize.Net CIM: Add support for optional refund fields [nilmethod] * SecurePayTech: Fix EnableCSC parameter so CVV codes are checked. [tlconnor] * SecurePayTech: Add remote tests for CSC checking. [tlconnor] * Samurai: Add option to retain payment methods once stored [brentmc79] * PayPal Express Gateway: Add support for Digital Goods / Micropayments [kenmazaika] == Version 1.20.4 (February 22, 2012) * Fix json dependency == Version 1.20.3 (February 7, 2012) * Various fixes to support Ruby 1.9 [wisq] * SkipJack: Fix partial capture [jduff] * Optimal Payments: submit region when outside North America [jduff] * USA ePay: Add void and refund support [duff/ntalbott] * Add first digits to credit card [codyfauser] * Orbital: fixes to authentication and order id [Soleone] * Stripe: fixes to purchase method [duff/ntalbott] == Version 1.20.2 (January 16, 2012) * Remove authorize/capture support for Stripe [gdb] == Version 1.20.1 (December 22, 2011) * PayflowExpressUk: Fix parsing street2 from response [odorcicd] * AuthorizeNet: Support tracking id [odorcicd] * SagePay Form: Map billing address to shipping address [jduff] == Version 1.20.0 (November 14, 2011) * Add support for USA ePay Advanced SOAP interface [matthewcalebsmith/jduff] * Beanstram: fix purchase with Secure Profile [pitr/jduff] * Orbital: various fixes [Soleone] * Add Samuari gateway by Fee Fighters [jkrall/odorcicd] * Lock money gem to 3.7.1 or less since newer versions break in 1.9 [jduff] * Braintree: handle gateway rejected transactions gracefully [braintreeps/jduff] * Ogone: support different signature encryptors, custom currency and eci [ZenCocoon/rymai/jduff] * Payflow Link: use secure token [jduff] * Added refund method to Exact, Pay Junction and Skip Jack gateways [jduff] * Elavon: added test url [kylekeesling/jduff] * Fix redundent errors when credit card is expired [castiglione/jduff] * Two Checkout: update service url [vampirechicken/jduff] == Version 1.18.1 (September 23, 2011) * Braintree: allow setting merchant_account_id on initialize [jduff] * Realex: only send letters and numbers in shipping code field [Soleone] == Version 1.18.0 (September 23, 2011) * NoChex: Update the URL that payment requests are posted to [caseywhalen/jduff] * QBMS: fixed test mode check [Soleone] * Realex: encode avs info with shipping address [Soleone] * Add Dwolla offsite gateway [armsteadj1/jduff] * Eway: pass email, customer, description and options to store [moklett/tobi] * New dependency: active_utils gem [odorcicd] * Optimal Payments: fix test mode check [jduff] == Version 1.17.0 (August 23, 2011) * Add Payflow Link integration [jduff] * Add CardSave gateway [MrJaba/jduff]] * Quickpay: Support protocal version 4 and fraud parameters [anderslemke/jduff] * Authorize.net: Add status_recurring [mm1/jduff] * Paypal Express: Support specifying :items with purchase [sivabudh/jduff] * ePay: Add Sweden and Norway to supported countries [ePay/jduff] * Brainreee: Support passing merchant_account_id parameter [braintreeps/jduff] * Paypal Express: Remove deprecated Address field in favor of ShipToAddress[jduff] * Add Optimal Payments gateway [jamie/jduff] * Documentation improvements [dasch/nhemsley/jstorimer/jduff] * Authorize.Net: Pass through first name, last name, and zip for refunds. [ntalbott] == Version 1.16.0 (July 18, 2011) * Bogus: Support referenced transactions for #authorize, #purchase, #recurring and #credit [dasch/jduff] * Payment Express: Update gateway url [bayan/titanous] * Moneybookers: Send country and account_name if provided [Soleone] * Moneris: Add Diners Club and Discover [Soleone] * Cybersource: add auth_reversal support [jeberly/titanous] * WorldPay: Update endpoint URLs for offsite gateway [Soleone] * Worldpay: Add JCB and add Maestro [Soleone] * Authorize.net: Add Diners Club and JCB [Soleone] * Quickpay: Add testmode for subscribe and authorize [dasch/jduff] * Orbital: fix handling of phone numbers. [ntalbott] * Braintree: Add Diners Club [cody] * Add ePaymentPlans offsite payment [robertomiranda/Soleone] * Add Stripe gateway [boucher/titanous] * Add Paystation gateway [nikz/jduff] * Bump minimum ActiveSupport version to 2.3.11 [titanous] * Use securerandom from stdlib not active_support [phlipper/jduff] == Version 1.15.0 (May 12, 2011) * DirecPay: Fix address to not include address2 twice in some cases [Soleone] * DirecPay: Send company if available [Soleone] * Realex: Fix hash signature [ntalbott/Soleone] * SecurePay AU: Update remote tests [ntalbott] * SecurePay AU: Fix method arity for #capture, #refund, #credit and #void [Soleone] * Barclays ePDQ: Make response parsing more robust [Soleone] * Payflow Express: Add line item support [wolframarnold] * Payflow Express: Add comment field support [wolframarnold] * Payflow: Add more optional fields [wolframarnold] * Beanstream/Paypal: Fix CREDIT_DEPRECATION_MESSAGE errors [Jonathan Rudenberg] * BraintreeBlue: Return a hash instead of a transaction object [braintreeps] * BraintreeBlue: Return proper AVS/CVV values [braintreeps] * Bogus: Add #recurring [trwomey] * Make Validateable compatible with ActiveModel [CodeMonkeySteve] * Add DirectEBanking offsite gateway [Gerwin Brunner/Soleone] * ActiveSupport 3.1 beta support [cgriego] == Version 1.14.0 (Apr 29, 2011) * SagePayForm: Implement #cancelled? for Return. [wisq] * Add #cancelled? to Integrations::Return [wisq] * Bogus gateway: Add refund support and better tests [wisq] * Beanstream: Add support for storing cards [duffomelia] * eWay: Add support for storing cards [duffomelia] * Add validation mode to update profile request [Ken Miller] * Authorize.net CIM: Add oldLiveMode [ntalbott] * Authorize.net CIM: Add extra transaction types [Ken Miller] * JetPay: gateway tweaks [ntalbott] * Deprecate a bunch more #credit methods [ntalbott] * RealEx: Add authorize/capture/credit/void [ntalbott] * SecurePay AU: Add authorize/capture/credit/void [ntalbott] * PayPal Express: Make response parsing more robust [ntalbott] * Test deprecation warnings; add deprecation line numbers [ntabott] * Add Orbital direct gateway [ntalbott] * Add WorldPay direct gateway [ntalbott] == Version 1.13.0 (Apr 19, 2011) * Add a Gemfile for optional bundler support [ssoroka] * Stop using has_rdoc= when rubygems version is 1.7.0 or greater, since it's deprecated [ssoroka] * Add tax field to braintree [wisq] * Quickpay: Also add Sweden as supported country [Soleone] * Adding refund method for gateways that are using the credit method for referenced based refunds, added deprecation worning to the credit method [John Duff] * Return the Braintree transaction id in the response for void and refund transaction calls [John Duff] * PayPal Express: Extract phone number from address if no contact phone was sent [Soleone] * Unify all offsite gateways that verify the signature of Returns or Notifications by always using the #acknowledge method and calling the secret :credential2 [Soleone] * Valitor: Change name of credential for Return and Notification from :password to :credential2 in symmetry with the other Integrations [Soleone] * Moneybookers: Add support for tracking token [Soleone] * Moneybookers: Require credential when creating Notifications instead of adding an argument to #acknowledge [Soleone] * Moneybookers: Fix Notification to return correct status [Soleone] * Support default Return class for all Integrations that don't use returns [Soleone] * Add support for passing additional options when creating a Notification to all Integrations [Soleone] * Update BraintreeBlue#refund to have consistent method signature [Jonathan Rudenberg] * Add rails/init.rb for gem campatability in Rails [R?dolfs O?i??] * Fix Paypal Express response parser [Jonathan Rudenberg] * Braintree/Transax: Add tax field [wisq] == Version 1.12.1 (Mar 21, 2011) * Ogone: Make sure response.params is a real Hash [Soleone] * WorldPay: Fix service_url in production mode [Soleone] == Version 1.12.0 (Mar 1, 2011) * DirecPay: Send phone number as mobile phone by default [Soleone] * Support sending line items for PayPal Express transactions [Jonathan Rudenberg] * Update PayPal Express XML format to latest version [Jonathan Rudenberg] * Fix custom image header for PayPal Express [mwagg] * Add InvoiceID and OrderDescription to PayPal Express Authorize and Capture [cody] * Add Moneybookers integration [Alex Diakov] * Add QBMS (Quickbooks Merchant Services) gateway [ntalbott] * Add NMI gateway [ntalbott] * Make fully compatible with Rails 2 & 3, and Ruby 1.8 & 1.9 [ntalbott] * Authorize.Net: Only return AVS message for AVS-related reason codes. [ntalbott] * Add Federated Canada gateway [ntalbott] * Garanti: Fix text normalization for nil values [Selem Delul] * Valitor: Always send amount without any decimal places [Soleone] * Add WorldPay integration [Soleone] == Version 1.11.0 (Feb 11, 2011) * Bump dependency for activesupport from 2.3.2 to 2.3.8 [Soleone] * Garanti: Normalize text in xml fields for non-standard characters [Selem Delul] * Garanti: Make sure order number does not contain illegal characters [Soleone] * Fix ActionView tests for ActiveSupport 3.0.4 [Soleone] * DirecPay: Make address information editable by default [Soleone] * Fix ePDQ credit to expect and handle full authorization [Nathaniel Talbott] * Add Barclays ePDQ Gateway [Nathaniel Talbott] * Add default fixture for Garanti and don't use fixture for Garanti [cody] * Add cms param for ePay [ePay] * Add Valitor Integration [Nathaniel Talbott] == Version 1.10.0 (Jan 20, 2011) * PayPal Express: Support returning payer phone number [Soleone] * Fix ePay to correctly send order number [Soleone] * Add BluePay Gateway [Nathaniel Talbott] * Add Quantum Gateway [Joshua Lippiner] * Add iDEAL/Rabobank gateway [Jonathan Rudenberg] * SagePayForm: Added send_email_confirmation (default false) to enable confirmation emails [wisq] == Version 1.9.4 (Jan 5, 2011) * Update Garanti gateway to integrate with new API [Selem Delul] == Version 1.9.3 (December 17, 2010) * Fix BBS Netaxept to change transaction type from C (for MOTO: mail order telephone order) to M (for credit card orders) [Soleone] * Fix Iridium and ePay to work with any object that responds to credit card methods not only ActiveMerchant::CreditCard objects == Version 1.9.2 (December 9, 2010) * Add support for PayPal mobile payments [wisq] * Add ePay gateway [ePay, Jonathan Rudenberg] * Allow access to the raw HTTP response [Jonathan Rudenberg] == Version 1.9.1 (November 24, 2010) * PayPal Express and PayPal Pro: Send JPY currency correctly without decimals [Soleone] * Netaxept: Make sure password (token) is URL escaped and update remote tests for updated server behavior [Soleone] * DirecPay: Add support for additional options in Return class and add convenience method to get transaction status update [Soleone] * Add new alias credit_card.brand for credit_card.type and handle the brand correctly in Netaxept [Soleone] * Iridium: Do not depend on ExpiryDate class for credit_card [Soleone] * PayFlow: Use same timeout of 60 seconds in HTTP header and XML for all requests [Soleone] * PayPal Website Payments Pro CA no longer supports American Express cards [Soleone] * Updated BIN ranges for Discover to match recent documents [kaunartist] == Version 1.9.0 (October 14, 2010) * Add support for DirecPay gateway [Soleone] * Add SagePay Form integration gateway [wisq] * Allow Return class to include a Notification for gateways that treat the direct response as a notification [wisq] * Add support for PayboxDirect gateway [Donald Piret] * Add support for SecureNet gateway [Kal] * Add support for the Inspire gateway [ryan r. smith] == Version 1.8.0 (September 24, 2010) * PayPal Express: Add support for billing agreements [Nathaniel Talbott] * Allow comparing countries [Nathaniel Talbott] * Iridium: Fix country handling [Nathaniel Talbott] * Iridium: Fix missing billing address [Nathaniel Talbott] * Iridium: Do not pass CV2 if not present [Nathaniel Talbott] * Add Iridium support [Phil Smy] * Add Netaxept support [Nathaniel Talbott] * PaymentExpress: Use Card Holder Help Text for the response message [Nathaniel Talbott] * Sort the country name list [Duff OMelia] == Version 1.7.3 (September 14, 2010) * Fix SagePay special handling for Japanese YEN currency to not send fractional amounts [Soleone] == Version 1.7.2 (August 27, 2010) * Update Braintree integration to play nicely with the braintree 2.5.0 gem [Soleone] * Fix SagePay to not send fractional amounts for Japanese YEN currency [Soleone] == Version 1.7.1 (July 28, 2010) * Pull in only the necessary components of Active Support. Enables use of ActiveMerchant with Rails 3 [railsjedi] == Version 1.7.0 (July 9, 2010) * Add support for new Braintree Blue Gateway (using the braintree gem) [Braintree] == Version 1.6.0 (July 6, 2010) * Add a task rake gateways:hosts to get a list of all outbound hosts and ports [cody] * Fix test failure in chronopay helper in Ruby 1.9.1 [cody] * Fix timezone issue in credit card test. [cody] * Fix failing unit test for Garanti gateway [cody] * Fix failing CyberSource remote test [Patrick Joyce] * Support for Garanti Sanal Pos: Turkish bank and billing gateway [Selem Delul] * Add deprecation note for Money objects to Bogus gateway [Soleone] * Updated test URL for Merchant eSolutions and added valid remote test credentials [Soleone] * Add new error class for SSL certificate problems in connection class [Soleone] * Update valid_month and valid_expiry_year to coerce string arguments to integers [cody] * Add support for displaying credit cards with PayPal Express. Use the :allow_guest_checkout => true option when setting up the transaction [Edward Ocampo-Gooding] * Use card_brand method for checking for checks in Sage and Beanstream [cody] * Add JCB and Diners Club to LinkPoint [Soleone] == Version 1.5.1 (February 14, 2010) * Cleanup Rakefile, add gemspec and prepare for 1.5.1 release [cody] * Update copyright dates [cody] * Work around SkipJack bug by reversing the order of the query params [Soleone] * Fix uppercase character in autoload of 2Checkout's Notification class [Edward Ocampo-Gooding] * Detect language used in Chronopay integration based on billing address country [Soleone] * Better handle international addresses in BeanstreamGateway [Soleone] == Version 1.5.0 (February 2, 2010) * Fix Gestpay notification to avoid Ruby 1.9 warnings [cody] * Fix Chronopay notification time parsing for Ruby 1.9 [Joe Van Dyk] * Set default currency of Braintree to USD [cody] * Fix QuickPay helper for Ruby 1.9 compat [cody] * Use String#each_line instead of collect in PaySecureGateway for Ruby 1.9 compat [cody] * Use String#each_line instead of to_a in SagePayGateway for Ruby 1.9 compat [cody] * Don't return an array when finding the country code. Fixes issue with Ruby 1.9 [cody] * Fix custom assertions for Ruby 1.9 [cody] * Deprecate Money objects [cody] * Update JCB rejex to catch all valid PANs [pjhyett] * Remove old TransaXGateway constant [cody] * Remove old ProtxGateway constant [cody] * Remove old BrainTree constant [cody] * Remove AuthorizedNet constant [cody] * SecurePay changed their delimeter from % to ,. Update gateway to handle changes [Soleone] * Fix documentation typo in base.rb [mig-hub] * Add capture test to Linkpoint [Dusty Doris] * Fix bug in Linkpoint with ternary operator and Ruby 1.9.1 [Dusty Doris] * Add currency and processor options to Braintree gateway [cbillen] * Unify API to always look for billing_address/address hash inside of options [stopdropandrew] * Fix bug with Modern Payments Gateway where failure authorizations appeared to be successful [cody] * Fix Modern Payments Gateway [cody] * Use basic SkipJack host for all non-authorization transactions. Fix status method [cody] * Strip non alpha numeric chars out of MerchantWare order number [cody] * Parse complete response of Authorize.net CIM gateway [Patrick Joyce] * Update to PayPal Sandbox URL for testing Payflow Pro Express Checkout. See Express Checkout for Payflow Pro guide [cody] * Provide a C_STATE value of "Outside United States" for SageGateway when processing international customers [cody] * PayPal Website Payments Pro Canada supports Amex [cody] * Add line item support for LinkpointGateway. [Tony Primerano] * Add support for SallieMae gateway [iamjwc] * Add support for the JetPay gateway [Phil Ripperger, Peter Williams, cody] * Add support for advanced SkipJack processors. Pass :advanced => true when constructing gateway [cody] * Support test option in AuthorizeNetCimGateway [Tim] * Improve Ogone error messages [cody] * Add support for :test => true option to OgoneGateway [cody] * Bump PayPal Version to 59.0 [cody] * Add amex support to eWay gateway [cody] * Change Payflow header X-VPS-Timeout -> X-VPS-Client-Timeout [cody] * Fix typo preventing OgoneGateway from working in production [Nicolas Jacobeus] * Add support for the Elavon MyVirtualMerchant gateway [jstorimer] * Fix recurring transactions in Ogone gateway [cody] * Fix money formatting for Ogone gateway [cody] * Tweak Ogone gateway to use ActiveMerchant conventions for reference transactions [cody, jstorimer] * Add support for the Ogone DirectLink payment gateway [Nicolas Jacobeus] * Add support for the Antigua based FirstPay payment gateway [Phil R] * Add support for PayPal reference transactions [kevin, John, Rahsun McAfee] * Add support for the MerchantWARE payment gateway [cody] * Rename Protx to SagePay [jstorimer] * Allow test mode for eWay gateway [Duff OMelia] * Don't use Time.parse for the ExpiryDate [cody] * Add support for CVV code to Authorize.net CIM [Guy Naor] * Add shipping address to Authorize.net [Eric Tarn] * Don't setup the logger by default [cody] * Refactor ActiveMerchant::Connection out of the PostsData module. Add support for logging and wiredumping requests [cody] * Assume a valid load path when running tests [cody] * Use SHIPTOSTREET2 element instead of STREET2 element for Payflow Express Uk address [cody] * Clean up the test helper [cody] * Fix DataCash unit test that was making a remote call [cody] * Don't check Request#test? for remote PaymentExpress tests because their test environment has changed [cody] * Update Instapay gateway to support capture and add address, order, and invoice fields. Add support for CVV and AVS response [cody] * Add support for Instapay gateway [brahma] * Cleanup PaymentExpress reference purchases and turn on AVS [cody] * Add reference purchases and authorizations to PaymentExpress [mocra] * Add support for Merchant e-Solutions Gateway [Zac Williams, Robby Russell] * Fix Braintree unit test [cody] * Add support for checks to SmartPs gateways [jvoohris] * Extract SmartPs for Braintree and Transax [mmangino] * Ruby 1.9 compatibility [bschwartz] * Update Payflow Express to handle Street2 element [James MacAulay] * Fix typo in Protx DeliveryState field [cody] * Ignore Wirecard state unless it is 2 characters [Cody] * Update Wirecard to make country and state processing more robust [Soleone] * Update ProTX to use the latest v2.23 protocol [Tekin] == Version 1.4.2 (April 24, 2009) * Fix typo in Authorize.net CIM [infused] * Add missing ISO countries [Edward Ocampo-Gooding] * Add support for Guernsey to country.rb [cody] * Add American Express to the MonerisGateway [cody] * Use :words_connector instead of connector in RequiresParameters [cody] * Fixed CreditCard not validating start_month and start_year when set as string [Tekin] * Update PostsData to support get requests [cody] * Fix broken Quickpay remote test [cody] * Update Quickpay gateway to v3. Add support for offsite integration for Danish Dankort cards [Lars Pind] * Use default partner id when passed in :partner is blank with PayflowGateway [cody] * Remove PayflowGateway.certification_id [cody] * Set Response#test? to true in TrustCommerce gateway when using the demo account in production [cody] * Correctly set Sage.supported_countries [cody] * Add BogusGateway#void [Donald Ball] * Fix PSL gateway capturing [cody] * Fix failed Visa debit purchases with PSL gateway start date info is present [cody] * Support personal fixtures file on Windows [cody] * Clearer variable naming for BraintreeGateway#authorize [Jonathan S. Katz] * Fix brittle Authorize.net tests [cody] * Add support for Authorize.net duplicate window [Seamus Abshere] * Return transaction id for PayPal refunds [jxtps435] * Allow storage of e-checks with BraintreeGateway [jimiray] * Add test URL to PayJunction gateway [boomtowndesigngroup] * More robust parsing for Wirecard gateway [Soleone] * Pass the issue number to CardStream verbatim and update test card numbers [Soleone] == Version 1.4.1 (December 9, 2008) * Update CardStream URL. Note that you will also need to update your login id. [cody] == Version 1.4.0 (November 27, 2008) * Return failed authorization when SkipJack purchase fails [Tron, cody] * Update README [cody] * Add metadata to Authorize.net CIM gateway [cody] * Make ActionViewHelper compatible with changes to concat method in ActionPack [cody] * Remove PayPal and Payflow Name-Value gateways. PayPal is no longer terminating the Payflow XML API. [cody] * Don't directly use the inflector in the action view helper [cody] * Work around Rails Inflector change [cody] * Add configurable timeouts to PostsData [Michael Koziarski] * Add valid_sender? method to gateway integrations [Soleone] * Fix PayPal error parsing [cody] * Fix MIT-LICENSE [cody] * Add a payment gateway for Website Payments Pro Canada [cody] * Fix shipping amount option in Sage gateway [Darrick Wiebe] * Improved message and error message handling [Soleone] * Get Wirecard working in the Live environment [Soleone] * Remove dead code in PayPal Common API files [cody] * Use the PayPal short error message if the long message is empty [cody] * Fix unit tests when being run by Cruise Control [cody] * Add support for PayPal Fraud Review Response [cody] * Add testing support for German Wirecard Gateway [Soleone] * Specify required version of ActiveSupport [cody] * Make ssl_strict a superclass_delegating_accessor so the entire application's validation of SSL certs can be disabled in the event of certificate problem. [cody] * Make Gateway.application_id a superclass_delegating_accessor so it can be set from outside the subclass definition [cody] * Add Discover to the list of supported card types for Braintree [cody] * Add support for Modern Payments gateway [Jeremy Nicoll, cody] * Add support for EFT/ACH and Interac Online to the BeanstreamGateway [cody] * Document the SageGateway [cody] * Add support for echecks with SageGateway. [cody] * Handle all successful SecurePay AU response codes [cody] * Get SageGateway working with real test account. Improve test suite. [cody] * Unify TrustCommerce, Payment Express, and Braintree CC storage [benjamin.curtis] * Update to use new Payflow Pro URLs [cody] * Fix missing Content-Type header for Ruby 1.8.4 [cody] * Fix Authorize.Net CIM response.message [patrick.t.joyce] * Add JCB and Diners Club as supported cards to SageGateway [cody] * Add CA country code to Sage gateway's supported countries [cody] * Add support for Sage Payment Solutions gateway [cody] * Add test mode detection to Beanstream [cody] * Add support for Beanstream payment gateway [xiaobozz] * Add support for PayPal NV Pair API. Will be used to replace the usage of the PayPal SOAP API in ActiveMerchant in the future [Greg Furmanek, cody] * Protx does support UK Maestro [cody] * Add tests for length of UK Maestro cards [cody] * Return all the error messages and codes from paypal responses [cody] * Fail hard when attempting to capture without a credit card with NetRegistry [cody] * Add support for the order fields to the create_customer_profile_transaction in Authorize.net CIM. [Patrick T. Joyce] * Strip invalid characters and limit lengths of Protx customer data [Simon Russell] * Fix empty start or end dates in Protx [Simon Russell] * Add support for Authorize.net CIM [Patrick T. Joyce, Ian Lotinsky] * Add option to skip order review to all PayPal Express gateways [garret.alfert, cody] * Add capturing partial amounts, fix issue number formatting, fix authorization string when nil values returned, fix parsing of multiple '=' characters, simplify message_from [Simon Russell] * Fix StartDate in ProtxGatewy [cody] * Add support for refunds and continuous authority references to DataCashGateway [joel.chippindale] * Fix gross in HiTrust notification. Don't use Money object in Verifi gateway [cody] * Initial implementation of Payflow Name-Value API [Greg Furmanek] * Add support for CyberSource credits [mjuneja] == Version 1.3.2 (February 24, 2008) * Actually fix the bug by adding extdata element to Payflow Requests [cody] * Fix bug with adding name to Payflow requests [cody] * Gateways will now look for CreditCard#brand before looking for CreditCard#type [cody] * Make before_validate in CreditCard more clear [keith_du...@mac.com, cody] * Don't send full Australian state names to PayPal [cody] * Return last_digits that are less than 4 characters long [cody] * Fix Bug with Authorize.Net ARB Remote Test [patrick.t.joyce] * Add support for forcing test mode on Secure Pay AU gateway [cody] * Update Secure Pay Au to meet specs for MessageInfo elements [cody] * Add support for the Australian Secure Pay payment gateway [cody] * Allow LinkPoint cancellations for recurring billing. [yanagimoto.shin] * Add support for ?land Islands to the country list [cody] == Version 1.3.1 (January 28, 2008) * Rename BrainTreeGateway to BraintreeGateway, but keep alias to old naming for backwards compatibility [cody] == Version 1.3.0 (January 28, 2008) * Remove attr_readers for url and response from Gateway [cody] * Remove @url from EfsnetGateway [cody] * Remove @response instance variable in QuickpayGateway. [cody] * Remove @response instance variable in PsigateGateway. Don't use billing address for shipping [cody] * Remove @response instance variable in PaypalGateway. Don't use billing address for shipping. [cody] * Remove @response instance variable in PayflowGateway [cody] * Remove @response instance variable in MonerisGateway [cody] * Remove @response instance variable and don't use billing address for shipping address in LinkpointGateway [cody] * Remove @response instance variable from ExactGateway [cody] * Remove @response instance variable from EwayGateway [cody] * Remove @response instance variable from EfsnetGateway [cody] * Remove @response instance variable from DataCashGateway [cody] * Don't use billing_address for shipping_address in CyberSourceGateway [cody] * Remove @response instance variable from CardStreamGateway [cody] * Remove @response instance variable from BrainTreeGateway [cody] * Remove unused deal_with_cc method from BogusGateway [cody] * Remove test_result_from_cc_number completely from ActiveMerchant [cody] * Don't use billing_address for shipping_address in Realex [cody] * Update Realex to add support for cvv data. remove test_result_from_cc_number. [cody] * Update Protx to add support for avs and cvv data. remove test_result_from_cc_number. [cody] * Include ActiveMerchant::Utils module in test_helper and use generate_unique_id from the module instead of generate_order_id. [cody] * Update SecurePay tests to check for avs and cvv data. [cody] * Update SkipJack to add support for avs and cvv data. remove test_result_from_cc_number. [cody] * Move generate_unique_id to its own module [cody] * Update Viaklix to add support for avs and cvv data. remove test_result_from_cc_number. Truncate fields to avoid failure [cody] * Update PSL Card Gateway to add support for avs and cvv data. remove test_result_from_cc_number. [cody] * Update PlugNPayGateway to support avs and cvv data. Remove test_result_from_cc_number. [cody] * Update PaymentExpressGateway to remove test_result_from_cc_number. [cody] * Update PaySecure to remove test_result_from_cc_number. [cody] * Update NetbillingGateway to support avs and cvv data. Remove test_result_from_cc_number. [cody] * Replace all usage of :address with :billing_address in test cases [cody] * Remove sensitive data from NetRegistryGateway responses. Refactor gateway and tests. Remove test_result_from_cc_number. [cody] * Update VerifiGateway to support avs and cvv data. Remove test_result_from_cc_number. [cody] * Small refactoring of UsaEpayGateway [cody] * Update UsaEpayGateway to support avs and cvv data. Remove test_result_from_cc_number. [cody] * Update TrustCommerce docs now that the gateway falls back to SSL post when tclink isn't available [cody] * Change ARB to use correct :address1 key for addresses [cody] * No need for specialized recurring response for Authorize.net recurring billing [cody] * Update TransFirst to support avs and cvv data. Remove test_result_from_cc_number. [cody] * Maintain backwards compatibility with :address option for now in the Payflow gateways [cody] * Remove test_result_from_cc_number from SecurePayTech. Improve unit test coverage [cody] * Fix email option in PayflowGateway. Remove support for :address option. :billing_address and :shipping_address must now be passed in separately. [cody] * Make Bogus gateway's credit() method behave like capture [cody] * Add update and delete methods to update and delete records stored in the vault. [benjamin.curtis] * Add support for recurring_inquiry() to the PayflowGateway [dave.my...@contentfree.com] * Add support for Authorize.net Automated Recurring Billing (ARB) [vkurnavenkov, forestcarlisle, ianlotin...@hotmail.com, patrick.t.joyce] * Fix laser card regex [ladislav.martincik] * Cleanup whitepace in README [patrick.t.joyce] * Update ExactGateway to support avs and cvv data. Remove test_result_from_cc_number. [cody] * Remove test_result_from_cc_number from eWay gateway. [cody] * Remove duplicate attr_reader definitions from all gateways [cody] * Remove useless tests raising Error [cody] * Update gateway templates [cody] * Fix Authorize.net test where authorize() was being called instead of purchase(). Perform some cleanup of the tests [ianlotin...@hotmail.com, cody] * Improve Authorize.net documentation based on the DataCashGateway docs [patrick.t.joyce] * Update EfsnetGateway to support avs and cvv data. Remove test_result_from_cc_number. [cody] * Remove test_result_from_cc_number from DataCash. Improve unit test coverage [cody] * Update CyberSourceGateway to support avs and cvv results. Remove test_result_from_cc_number. [cody] * Remove match information from CVVResult [cody] * Remove Response#card_data. The application has access to the information anyway [cody] * Return the last 4 digits of the card number from the Response instead of the masked number [cody] * Actually use the shipping address in TrustCommerce [cody] * Update TrustCommerceGateway to support avs and cvv results. Remove test_result_from_cc_number. Automatically fallback to SSL POST if the TCLink library is not available. Add additional customer information to the requests. [cody] * Fix remote CardStreamGateway tests [cody] * Map merchant AVS codes to street and postal match codes [cody] * Update CardStreamGateway to support avs and cvv data [cody] * Remove merchant_data hash. Add additional CVV codes [cody] * Update QuickpayGateway to support merchant_data hash. Remove test_result_from_cc_number. [cody] * Update LinkpointGateway to support merchant_data hash. Remove test_result_from_cc_number. [cody] * Update PsigateGateway to support merchant_data hash. Remove test_result_from_cc_number. [cody] * Update MonerisGateway to support merchant_data hash. Remove test_result_from_cc_number. [cody] * Remove AVS Message and CVV2 Message from params hash in Authorize.net [cody] * Update BrainTreeGateway to support merchant_data hash [cody] * Update PaypalGateway to support merchant_data hash [cody] * Update Payflow to support merchant_data hash [cody] * Add card data to PayJunction response. PayJunction does not return the CVV or AVS result codes. Remote test_result_from_cc_number from PayJunction. [cody] * Rename CCVResult to CVVResult to be more aligned with ActiveMerchant's usage of the term verification value [cody] * Remove test_result_from_cc_number from Authorize.net in favour of mocking [cody] * Add merchant_data hash, which contains all of the card_data, avs_result, and ccv_result. [cody] * Add CCVResult for the Card Code Verification Result. Update Authorize.net to use the new class [cody] * Rename AVSResult#match_type AVSResult#match [cody] * Rename AVS::Result class to AVSResult [cody] * Convert Authorize.net gateway to use the new AVS module [cody] * Add AVS data to the Response object [cody] * Fix credentials for remote Authorize.net TEST MODE test [cody] * Add AVS module and AVS::Result class [cody] * Update base gateway class RDOC [cody] * Update the README with the latest list of supported gateways. Update the example in the README to include the verification value, which is now required by the credit card object by default. [cody] * Handle the return from 2Checkout [cody] * Automatically determine the credit card type when a type is not provided [cody] * Revert to initial implementation of LUHN algorithm because it all fits in one simple method [cody] * Remove unused api_cert_chain.crt file [cody] * Update PaypalGateway, and PaypalExpressGateway to send requests to the correct endpoints when using API signatures [cody] * Successful return code for HiTRUST is actually 00 [cody] * Make ActiveMerchant::Billing::Error a subclass of ActiveMerchant::ActiveMerchantError [cody] * Handle the return from the offsite payment gateways [cody] * Default HiTRUST order description to "Store purchase" [cody] * Fix HiTRUST field names [cody] * Add support for passing in the locale code [georg.fr...@meandevel.com] * Add support for the Offsite payment gateway HiTRUST [cody] * Accept SuccessWithWarning as success [cody] * Add a link to the LinkPoint staging server docs in remote_linkpoint_test.rb [cody] * Update Discover regex [cody] * Match full pan range of Maestro cards from 12 - 19 digits in length [cody] * Fix errors on base of CreditCard [josh.bassett] * Update product to use Rubigen instead of stolen Rails generator [cody] * Mimic directory structure of unit tests in remote tests [cody] * Restructure the location of the remote tests [cody] * Ensure DataCash order_id is limited to 30 characters [cody] * Return the pretty messages from PayJunction based on the return code [cody] * make CreditCard.require_verification_value = true the default [cody] * Use existing credit_card helper in credit card tests [cody] * Return the authrorization number of the original transaction in the SkipJack gateway [cody] * Update format of line items given to the gateway. Cleanup and uncomment unit tests [cody] * Add support for the SkipJack gateway [Bill Bereza, cody] * Make the bogus gateway easier to test by moving messages into constants [cody] * Add retry logic when connection has been refused for all gateways. Enable safe retries of all connection failures with the PayflowGateway, as it has a unique request header. [cody] * Catch Timeout::Error when posting data [cody] * Change order of loading ActionPack for tests since assert_success defined in ActionController::Assertions::DeprecatedAssertions inteferes with ActiveMerchant's definition [cody] * Catch Errno::ETIMEDOUT and extend open and read timeouts to 60 seconds [cody] * Add address2 to the billing address of Viaklix transactions [cody] * Improve Psigate generic error message [cody] * Fix small errors in Psigate documentation [cody] * Add Response#fraud_review? query method to the response. Allows gateways to indicate that a payment is pending review by the fraud service [cody] * Handle Errno::ECONNRESET when posting data [cody] * Fix broken USA ePay URL [cody] * Update RequiresParameters to support HashWithIndifferentAccess [cody] * Add support for SecurePayTech payment gateway [Jasper Bryant-Greene] * Detect when test credentials are being used with PayJunction [cody] * Update documentation about TrustCommerce void [cody] * Add void to TrustCommerce [jesse.c.scott] * Add support for echecks to the BrainTree gateway [Jeremy Voorhis] * Fix before_validate and validate methods in CreditCard [rick.denatale] * Add support for Netbilling payment gateway [cody] * Pass in N/A for unknown states when a country is present in PaypalGateway [cody] * Strip non alpha chars from order_id in Payflow gateway, as Paymentech Tampa can't handle them [cody] * Add support for the PaySecure payment gateway [cody] * Add support for descriptions in Authorize.net credits [shiva.kaul] * Great cleanup and improvement of CreditCard code, tests, and docs [James Herdman] == Version 1.2.1 * Fix remote PayPal tests [cody] == Version 1.2.0 * Update Linkpoint tests to remove useless pem file [cody] * Use symbols for CreditCard error messages, since errors have indifferent access [cody] * Improve CreditCard error messages [George Ogata] * Change deny to assert_false, and deny_success to assert_failure. Remove Gateway.gateway, as it is available from Base [cody] * Improve documentation, and test coverage [James Herdman] * Refactor MonerisGateway, improve test coverage and documentation [James Herdman] * Add support for crediting to Moneris [James Herdman] * Send state N/A in Payflow when the state is blank. Fixes UK PayPal Express payments when not providing a state [cody] * Load remote test credentials from a fixtures file. ActiveMerchant will look for a custom file ~/.active_merchant/fixtures.yml. If the file exists it will be loaded instead of the default fixtures provided by ActiveMerchant. This makes development easier, and removes the risk of committing non-public test account credentials to subversion. [cody] * Add support for password protected pem files [cody] * Add support for Concord Efsnet payment gateway [snacktime] * Fix dependency loading for gateways that are subclasses [cody] * Add Braintree payment gateway [Michael J. Mangino] * Add support for PayPal API signatures [Benjamin Curtis, cody] * Add payment gateway Viaklix [Sal Scotto, cody] * Add Australian payment gateway NetRegistry [George Ogata] * Take order email from the options hash instead of the address for CyberSource [cody] * Use an array for LineItems when calculating tax in CyberSource gateway [cody] * Add CyberSource gateway [Matt Margolis] * Sanitize Protx order id [cody] * Fix support for electron in Protx [cody] * Add support for Protx [shiftx, cody] * Use undef_method with a single argument in SecurePay to prevent JRuby from choking on it. [jonathan.l.bartlett] * Default address_override to 0 for PayPal Website Payments Standard payments. [cody] * Enhance credit card error messages [manfred] * Use HashWithIndifferentAccess for CreditCard for compatibility with Rails applications [michael.j.mangino] * Fix nil exception when no response reason text is found in Authorize.net [cody] * Add support for PayJunction [Matt Sanders] * Change billing_address to shipping_address in PayPal Integration helper, as billing_address was incorrect. Addresses passed to billing_address for the PayPal helper will no longer be added to the form. This will break existing code, as the address will not be passed. * Remove switch patterns from card detection that were eliminated on July 1, 2007 [cody] * Format the issue number in Payflow requests to always be 2 digits [cody] * Move application_id to Gateway and Helper class respectively [cody] * Improve TrustCommerce documentation [cody] * Add credit to Payflow [cody] * Add support for the Plug 'N Pay gateway [ryan.norbauer, cody] * Add support for ItemTotal, Shipping, Handling, and Tax amounts in the PayPal Express and PayPal gateways [baldwindavid, cody] * Add page customization options to the PaypalExpress, and PayflowExpress gateways [ cpjolicoeur, cody] * Add Verifi gateway [Paul Hepworth] * Add a PayflowResponse object with a profile_id accessor method. Return the correct authorization number on recurring actions [cody] * Add support for an initial transaction with recurring payments [findchris, cody] * Add support for email receipts to recurring Payflow Payments [Rick Olson] * Ensure the ButtonSource isn't too long [cody] * Add ButtonSource to Paypal and PaypalExpress gateways [cody] * Rename application to application_id and place it on Base, so it can be set once and forgotten about [cody] * Add ButtonSource field to PayflowExpress gateway [cody] * Add a field for the bn to the PayPal helper [cody] * Add remote secure pay test and correctly define test? [cody] * Undefine unsupported methods from SecurePay [cody] * Enhance the TransFirst error message for declined transactions [cody] * Add initial support for TransFirst gateway [cody] * Deprecate certification_id in Payflow gateways [cody] * Work around required PayPal state fields for countries that don't require states [cody] * Add metadata to SecurePay gateway [cody] * Add initial support for the SecurePay gateway using the Authorize.net translator [cody] * Add the homepage_url and display_name accessors to each gateway [cody] * Remove Money dependency from main gateways. Cleanup tests. Add supported_countries class accessor which returns an array of 2 digit iso country codes for which countries the gateway supports accounts in [cody] * Add American Express card to Psigate [cody] * Send N/A to PayPal in the PayPal Helper when we don't know the UK county [cody] * Actually pass the amount of the capture through to Payflow [cody] * Update ExactGateway test and test mode [cody] * Remove unused method in PslCardGateway [cody] * Add updated credit card tests [cody] * Update and test PslCardGateway [cody] * Add Laser card type [cody] * Update Nochex documentation [cody] * Sanitize the Realex order_id [cody] * Add support for Irish Realex payment gateway [John Ward, cody] * Move credit_card helper method to the test_helper [cody] * Update PayflowExpressResponse to match the interface of the PayflowExpressResponse. Add :no_shipping and :address_override options to PayflowExpress [cody] * Add a currency option to the Payflow and Paypal gateways [cody] * PaypalExpress should use the shipping address, not the billing address [cody] * Allow overriding the user with Payflow so that a vendor and user can be provided when making requests [cody] * PayPal DirectPayment API requires a UK County to be sent as the state or province. Return N/A as the state when one isn't provided to ensure that PayPal doesn't reject the payment [cody] * Add ability to perform reference transactions with Payflow [Al Evans, cody] * Enhance recurring Payflow tests and recurring_inquiry [Al Evans] * Add recurring payments to Payflow [Rick Olson] * Improve the error message generated by requires! [cody] * Update credit card regular expressions and update Quickpay gateway with tests for new cards [cody] * Add support for token based payments to PaymentExpress [Nik Wakelin] * Refactor default_currency to the base gateway class [cody] * Clean unsupported characters from the Quickpay ordernum [cody] * Call the :sale and :authorization in QuickpayGateway [cody] * Add Danish gateway Quickpay [cody] * Remove redundant hash brackets from generator template [cody] * Add additional options to the PayPal Website Payments Standard Helper [Rick Olson] * Move generate_unique_id method to Gateway class so other gateways can also use it [cody] * Allow notification name / value pairs to have a . in the name like checkout.x = 400 [cody] * Fix PaypalExpressGateway#purchase to have the same method signature as other gateways [cody] * Cargo cult off the rails unique id generator instead of UUID library [cody] * Add uuid-1.0.3 for generating random request UUIDs [cody] * Remove mock_methods and http mock from the library [cody] * PaypalExpress cannot setup a payment for 0 dollars. If the amount is zero then setup a payment for $1. [cody] * Small changes to PslCard gateway [cody] * Fix Money dependency with PslCard gateway [cody] * Add PslCard payment gateway [MoneySpyder http://moneyspyder.co.uk] * Scrub the card number, expiry, and CVV code from the response [cody] * Use test? query for checking test mode [cody] * Add support for the E-xact Payment Gateway [James Edward Gray II, cody] * Fix partially broken method of dealing with phone numbers in the PayPal Helper [cody] * Update remote tests for PaymentExpress [cody] * Add Content-Type header to PaymentExpress post [cody] * Use DECLINED as the message for declined transactions in the PaymentExpress remote tests [cody] * Add JCB as a supported card type for the PaymentExpressGateway [cody] * Rename DpsGateway to PaymentExpressGateway [cody] * Add DPS Payment Express gateway (NZ) [dgjones, cody] * Remove duplicate and incorrect expdate method from Authorize.net [cody] * Allow authorization and purchase using a billing_id retrieved from TrustCommerce citadel [jesse.c.scott] * Don't return a frozen string from CreditCard.type? [cody] * Update remote Psigate test to ensure using a verification value doesn't break anything [cody] * Update remote Moneris test to ensure using a verification value doesn't break anything [cody] * Fix Solo issue number with CardStream gateway and improve test coverage [cody] * Add CardStream gateway [Jonah Fox, Thomas Nichols, cody] * Verify Peer in PayPal notifications and add account method [cody] == Version 1.1.0 * Add unique_id option to PayPal mass payments [Haig] * Fix expiry date in USA ePay [cody] * Fix PayPal Payments Pro UK with Switch & Solo cards [cody] * Add reauthorization to PaypalGateway and PaypalExpressGateway [dorrenchen] * Update DataCash tests and format merchant reference number to meet DataCash's requirements [MoneySpyder, cody] * Add Datacash gateway [MoneySpyder, cody] * VERIFY_PEER on all SSL requests [cody] * Add support for 2Checkout [cody] == Version 1.0.3 * Add support for PayPal mass payments to the PaypalGateway and the PaypalExpressGateway [Brandon Keepers] * Add a credit method to Authorize.net [cody] == Version 1.0.2 * Add support for OrderDescription, Payer, and InvoiceID fields in PaypalGateway [cody] == Version 1.0.1 * Add support for crediting to PayPal [cody, Haig] == Version 1.0.0 * Add discover to list of supported card types for Authorize.net * Fix Psigate crediting [sean.alien8@gmail.com] * Fix dependency loading of tests * Add methods for storing credit cards to the Bogus gateway [Jim Kane] * Fix bugs in expiration dates. [Jim Kane] * Fixed bugs related to authorized.net [Rick Olson] * Linkpoint is now a full featured backend for active merchant [Ryan Heneise] * Added linkpoint support [Ryan Heneise] * Added trust commerce gateway [Hans Friedrich] * Removed shipping stuff until there is time to implement it properly * The library now rejects money amounts which are not either cents as integer or a Money object * Moneris now uses the same layout as the authorized.net plugin * Added authorized.net * Changed default to :test mode. Set to production with ActiveMerchant::Billing::Base.gateway_mode = :production * More refactoring * Refactored a bit so that there is space for billing and shipping area. None of the shipping aids are fleshed out yet. Needs more work. * Added Moneris support * Credit card in memory object resembling a AR object * Credit card validation methods as static methods of the credit card object == PlanetArgon fork for integrating Merchant eSolutions gateway