forked from activemerchant/active_merchant
-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
2476 merge upstream #24
Open
SivakeshPachipulusu
wants to merge
1,821
commits into
master
Choose a base branch
from
2476_merge_upstream
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Remote tests: 20 tests, 58 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed Unit tests: 14 tests, 48 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed Local: 4697 tests, 73368 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed
Enable the scrub method to filter all appearances of bank account numbers. bundle exec rake test:local 4852 tests, 73989 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed 461.72 tests/s, 7040.89 assertions/s Running RuboCop... Inspecting 707 files 707 files inspected, no offenses detected Unit: 129 tests, 750 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed Remote: 71 tests, 327 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed
- Support the following AM methods: authorize, capture, purchase, verify, void, refund, store - Add support for payment tokens in all transaction types - Support additional methods: credit and redact - [Paysafe card API documentation](https://developer.paysafe.com/en/cards/api/) - [Paysafe vault API documentation](https://developer.paysafe.com/en/vault/api/) CE-1555 Rubocop: 710 files inspected, no offenses detected Local: 4864 tests, 74030 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed Unit: 13 tests, 44 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed Remote: 21 tests, 51 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed
For recurring transactions, an initial call must be made to the gateway using merchant_initiated_unscheduled, as well as ssl_get_token (to request the token) and ssl_add_token (to store that token with the payment method). Once stored the ssl_token will be sent with subsequent purchases that are marked as "recurring". Local: 4853 tests, 73995 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed Unit: 46 tests, 243 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed Remote: 38 tests, 177 assertions, 1 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 97.3684% passed The one failing remote test is also failing on the master branch. adds conditional, new test, clean up
ECS-2012 When a 3DS version is given to Orbital with the minor version numbers (i.e. "2.2.0"), Orbital returns an error: > Error. The Orbital Gateway has received a badly formatted message. > Field [MasterCard Program Protocol] exceeded max length of [1] This commit converts the version number to a string and truncates it to only include the major version number (i.e. "2"). Remote tests (same as master): 71 tests, 324 assertions, 1 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 98.5915% passed Unit tests: 4864 tests, 74030 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed Linting: 710 files inspected, no offenses detected
Credorax is changing the decimal value for the ISK currency on August 31 2021 8:00 UTC. This determines how the amount should be calculated by checking against this deadline. Their sandbox already considers ISK zero-decimal, so it is difficult to test a behavior that is dependent on whether you're running transactions against the sandbox or a live endpoint, so I have emulated the change on the sandbox by setting a date in the past, in the same way as the future deadline is set for Live. Remote: 45 tests, 164 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed Unit: 79 tests, 374 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed
Rubocop: 713 files inspected, no offenses detected Unit: 4885 tests, 74120 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed Remote: Loaded suite test/remote/gateways/remote_moka_test 17 tests, 47 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed
Add the optional more_info field to the PaymentezGateway request. When present and true, the following fields will be returned in the response: transaction.carrier_code transaction.message CE-1896 Unit: 28 tests, 114 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed Remote: 31 tests, 76 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed
Unit: 16 tests, 96 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed Remote: 18 tests, 27 assertions, 16 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 11.1111% passed CE-1846
Unit: 91 tests, 548 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed Remote: 74 tests, 311 assertions, 2 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 97.2973% passed Failing remote tests: - test_3ds_version_1_parameters_pass_thru - test_3ds_version_2_parameters_pass_thru CE-1792
This reverts commit 0a3ae56.
As the initial_transaction parameter is triggered in the response but not generally sent to active merchant, updated to be sent in as its own field, which will only be sent if included in the request. Unit: 47 tests, 245 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed Remote: 38 tests, 177 assertions, 1 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 97.3684% passed cleanup take two clarification, cleanup of tests to decouple from stored credentials
[CE-1877](https://spreedly.atlassian.net/browse/CE-1877) Local Tests: 4888 tests, 74134 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed Unit Tests: 24 tests, 132 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed Remote Tests: 28 tests, 74 assertions, 1 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 96.4286% passed Failure: test_successful_regular_purchase_through_3ds_flow_with_invalid_pa_res(RemoteSafeChargeTest). This test was already failing before these changes.
ECS-2023 The `cardholder_auth` field of the NMI integration is a non-standard 3DS field. It was originally implemented in ActiveMerchant by adding a new field to the `three_d_secure` hash, but it turns out that it can be derived via the `authentication_response_status` standard field in there already. This commit changes the NMI gateway to use the populate the `cardholder_auth` field using the 3DS standard field `authentication_response_status`. test/remote/gateways/remote_nmi_test: 42 tests, 156 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed rake test:local: 4867 tests, 74048 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed 710 files inspected, no offenses detected
Unit tests: 4889 tests, 74139 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed CE-1884
Unit tests: 4890 tests, 74158 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed CE-1911
Unit tests: 4891 tests, 74161 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed CE-1888
For MIT-exempt transactions, automatically add the DIRECTPAYMENT field and route them to the webservice endpoint as a trataPeticion for proper handling. Also add flag to force routing to the webservice endpoint and renames some methods and values for clarity and accuracy. Remote: 31 tests, 111 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed Unit: 49 tests, 196 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed
Upgrade the Payment API Version to v64 and the Recurring API Version to v49. 103 tests, 399 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed 77 tests, 402 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed
# This is the 1st commit message: Updates fields for Payeezy gateway Adds the merchant_ref field to general credit transactions and the soft_descriptor hash to refunds. Unit 40 tests, 188 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed Remote: 41 tests, 170 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed # This is the commit message #2: corrected argument error # This is the commit message #3: corrected argument error...again
To give the user full control of when the token is added. Unit: 47 tests, 243 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed Remote: 38 tests, 172 assertions, 1 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 97.3684% passed add remote test
Remove the timed switchover logic for ISK becoming a nonfractional currency at Credorax for Aug 31 2021. Remote: 45 tests, 164 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed Unit: 76 tests, 365 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed
China UnionPay cards beginning with 62 are able to run on Discover rails in the US and Canada. Because of this, these cards were previously lumped together with Discover. We would now like to break them out in order to have UnionPay cards correctly identified. Discover's BIN list (https://www.discoverglobalnetwork.com/content/dam/discover/en_us/dgn/pdfs/IPP-VAR-Enabler-Compliance.pdf) was used in order to understand specific BIN ranges belonging to UnionPay.
Billing detils fields are not required as per Gateway documentation https://docs.monei.com/api/#operation/payments_create, but empty fields cause validation errors. This commit forces to fill billing details fields only if they are provided. Additionaly, some fields were added to billing details as per documentation. ECS-1694 Unit: 17 tests, 61 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed Remote: 25 tests, 63 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed
ECS-1694 Unit: 17 tests, 61 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed Remote: 25 tests, 63 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed
- Include remote tests for visa and MasterCard each for 3DS1 and 3DS2. Mastercard requires a specific field be sent, which is why it has its own test separate from the visa test. CE-1572 Local: 4891 tests, 74161 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed Rubocop: 713 files inspected, no offenses detected Unit: 12 tests, 41 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed Remote: 29 tests, 69 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed
Enable network tokenization to be used with Adyen Test Summary Local: 4903 tests, 74208 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed Unit: 80 tests, 416 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed Remote: 105 tests, 403 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed
Adding ACH/Bank Accounts to Adyen. Remote tests: 114 tests, 433 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed Unit tests: 83 tests, 434 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed
CE-2467 Rubocop: 728 files inspected, no offenses detected Unit: 5073 tests, 75132 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed Remote: Loaded suite test/remote/gateways/remote_stripe_payment_intents_test 74 tests, 337 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed
Description ------------------------- We need unify the source as :android_pay if the network token is google_pay or android_pay JIRA ticket number ------------------------- GWI-96 Unit test ------------------------- Finished in 0.137911 seconds. 54 tests, 230 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed 391.56 tests/s, 1667.74 assertions/s Remote test ------------------------- Finished in 35.502618 seconds. 50 tests, 209 assertions, 13 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 74% passed 1.41 tests/s, 5.89 assertions/s Rubocop ------------------------- 729 files inspected, no offenses detected Closes activemerchant#4331
This commit introduces MPI-compatible way to pass 3DS authentication parameters, as documented in [Payflow's 3-D Secure with 3rd-Party Merchant Plug-ins ](https://developer.paypal.com/api/nvp-soap/payflow/3d-secure-mpi/). Prior to this change, we would pass the fields via the `BuyerAuthResult` inside the `Card` node. Unfortunately, there's no explicit mention of these, and as far as I can see, this was inferred via a series of commits, and even then, some of the links referenced in them, are broken :(, these are the commits: - activemerchant#3362 - activemerchant#4075 - activemerchant#4113 - activemerchant#4168 Current Reference documentation, as of March 2022: - [How to send 3-D Secure authentication data](https://developer.paypal.com/api/nvp-soap/payflow/3d-secure-mpi/#link-payflowfields) "Legacy" documentation for 3DS data: - [BuyerAuthStatusEnum, page 109](https://www.paypalobjects.com/webstatic/en_US/developer/docs/pdf/pp_payflowpro_xmlpay_guide.pdf) ECS-2350 Note: the 10 failing tests are the same ones that fail in `master`. Rubocop: 731 files inspected, no offenses detected Unit: 57 tests, 361 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed Remote: 39 tests, 169 assertions, 10 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 74.359% passed
This commit introduces MPI-compatible way to pass 3DS authentication parameters, as documented in [Payflow's 3-D Secure with 3rd-Party Merchant Plug-ins ](https://developer.paypal.com/api/nvp-soap/payflow/3d-secure-mpi/). Prior to this change, we would pass the fields via the `BuyerAuthResult` inside the `Card` node. Unfortunately, there's no explicit mention of these, and as far as I can see, this was inferred via a series of commits, and even then, some of the links referenced in them, are broken :(, these are the commits: - activemerchant#3362 - activemerchant#4075 - activemerchant#4113 - activemerchant#4168 Current Reference documentation, as of March 2022: - [How to send 3-D Secure authentication data](https://developer.paypal.com/api/nvp-soap/payflow/3d-secure-mpi/#link-payflowfields) "Legacy" documentation for 3DS data: - [BuyerAuthStatusEnum, page 109](https://www.paypalobjects.com/webstatic/en_US/developer/docs/pdf/pp_payflowpro_xmlpay_guide.pdf) ECS-2350 Note: the 10 failing tests are the same ones that fail in `master`. Rubocop: 731 files inspected, no offenses detected Unit: 57 tests, 361 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed Remote: 39 tests, 169 assertions, 10 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 74.359% passed
Summary: This PR updates the used schema to the latest version available according to the docs on https://vantiv.github.io/latest-versions/ Test Execution: Finished in 38.911867 seconds. 50 tests, 227 assertions, 4 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 92% passed Several failing tests corrected according to docs in the following pages: https://vantiv.github.io/sandbox/#howItWorks https://developer.worldpay.com/assets/pdf/us-ecom-pdf/Worldpay_eComm_cnpAPI_Reference_Guide_APIV12.12_V2.16.pdf RuboCop: 728 files inspected, no offenses detected Closes activemerchant#4340
Summary: ------------------------------ This commit modifies the store method to add support for bank accounts in order to enable ACH transactions on purchases, for that is needed an extra work to simulate the tokenization flow that Braintree enables for the front-end libraries to create token-nonces for payment methods. This nonce is a requirement to store the bank account and set a flag to require a verification via network checking. Test Execution: ------------------------------ Remote: Finished in 261.78288 seconds. 97 tests, 525 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed Unit: Finished in 16.583145 seconds. 5045 tests, 74984 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed Rubocop ------------------------------ Inspecting 730 files 730 files inspected, no offenses detected Closes activemerchant#4285
This reverts commit 75f9272. Reverting due to an unknown issue causing failures at Litle.
Fixes a few linting errors Unit: 5100 tests, 75255 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed Remote: 733 files inspected, no offenses detected
Closes activemerchant#4339 Rubocop: 736 files inspected, no offenses detected Unit: 5112 tests, 75337 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed Remote: Loaded suite test/remote/gateways/remote_simetrik_test 12 tests, 61 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed
Merchants using Ebanx are seeing transactions being denied at the card verify flow due to the minimum amount expected in this type of transaction. Increase the value to be accepted by the acquirers in the card verify flow. When using local currencies we end up doing the verify using the local currency, and in those cases 100 may be less than the minimum value for a valid transaction in some countries. Remote: 26 tests, 70 assertions, 1 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 96.1538% passed Unit: 5069 tests, 75101 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed Rubocop: 728 files inspected, no offenses detected Closes activemerchant#4337
Added decidir plus additional fields: `establishment_name`, `aggregate_data`, `sub_payments`, `card_holder_identification_type`, `card_holder_identification_number`, `card_door_number`, `card_holder_birthday`. CE-2485 Remote: 25 tests, 83 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed Unit: 5115 tests, 75352 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed Rubocop: 736 files inspected, no offenses detected
Updated `error_code_from` method to contain reason id in the error code response. CE-2490 Unit: 5113 tests, 75341 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed Rubocop: 736 files inspected, no offenses detected Remote: 23 tests, 77 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed
Summary: ------------------------------ This PR adds support for third party three ds authentication data on the DLocal gateway. Test Execution: ------------------------------ Remote Finished in 19.797433 seconds. 31 tests, 79 assertions, 2 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 93.5484% passed Unit Finished in 30.997677 seconds. 5076 tests, 75140 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed RuboCop: ------------------------------ 728 files inspected, no offenses detected Closes activemerchant#4345
ECS-2391 Merchants that want to trigger 3DS flows manually use the `request_three_d_secure` field when creating an intent to do that. This was already added to `create_intent`, this commit adds it to the `create_setup_intent` as well. Test Summary Local: 5123 tests, 75395 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed Unit: 39 tests, 207 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed Remote: 75 tests, 353 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed
SivakeshPachipulusu
requested review from
ronnietaylor and
sixfeetover
as code owners
March 24, 2022 18:40
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Updated Veracross' fork of active merchant to 1.125 version
Related Links: