Skip to content
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
wants to merge 1,821 commits into
base: master
Choose a base branch
from
Open

2476 merge upstream #24

wants to merge 1,821 commits into from

Conversation

SivakeshPachipulusu
Copy link

@SivakeshPachipulusu SivakeshPachipulusu commented Mar 24, 2022

Updated Veracross' fork of active merchant to 1.125 version

Related Links:

  • Differences that are preserved can be looked in this PR

bbraschi and others added 30 commits August 3, 2021 15:31
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
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
dsmcclain and others added 18 commits March 9, 2022 11:59
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

Successfully merging this pull request may close these issues.