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

Activemerchant master #4

Open
wants to merge 2,236 commits into
base: master
Choose a base branch
from
Open

Activemerchant master #4

wants to merge 2,236 commits into from

Conversation

alina02
Copy link

@alina02 alina02 commented Feb 18, 2025

No description provided.

aenand and others added 30 commits May 22, 2024 09:04
A previous commit removed the default ECI value for NT type
payment methods (apple pay, google pay, and network tokens)
from the Worldpay integration. This value was previously '07'
and added if an ECI was not present. This commit removed the
default behavior as this was not compliant with GooglePay standards
and Worldpay's documentation indicated it was an option field.

Upon implementing, some merchants have found issues with Mastercard
Google Pay transactions lacking an ECI. This is an attempt at an
opt-in revert where if a merchant needs to go back to the original commit
they can do so by passing in use_default_eci.

Test Summary
Local:
5906 tests, 79606 assertions, 0 failures, 23 errors, 0 pendings, 0 omissions, 0 notifications
99.6106% passed
Unit:
120 tests, 675 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed
Remote:
106 tests, 455 assertions, 3 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
97.1698% passed
A bit of refactoring was needed in the gateway file to support these fields and get things in better shape with adhering to the XSD. Unit tests are now more comprehensive to check schema. I added a remote test and left comments to indicate which fields are restricted to Canadian merchants.

Unit Tests:
148 tests, 850 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed

Remote Tests:
134 tests, 504 assertions, 8 failures, 11 errors, 0 pendings, 0 omissions, 0 notifications
85.8209% passed
*Same number of failures and errors on master.

Local Tests:
5899 tests, 79647 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed
Spreedly reference:
[ECS-3492](https://spreedly.atlassian.net/browse/ECS-3492)

Unit tests

Finished in 27.620662 seconds.
5849 tests, 79313 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed

RuboCop

792 files inspected, no offenses detected
Description
-------------------------
This commit fix a issue for set the payment method brand
for payment_product when is mastercard

Unit test
-------------------------
Finished in 1.799922 seconds.

24 tests, 64 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed

13.33 tests/s, 35.56 assertions/s

Remote test
-------------------------

Finished in 132.781957 seconds.

18 tests, 76 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications

Rubocop
-------------------------
798 files inspected, no offenses detected

Co-authored-by: Javier Pedroza <[email protected]>
Summary:
------------------------------
This PR adds the Inquire call to FlexCharge adapter

[SER-1153](https://spreedly.atlassian.net/browse/SER-1153)

Remote Test:
------------------------------
Finished in 38.700031 seconds.
16 tests, 43 assertions, 0 failures, 0 errors, 0 pendings,
1 omissions, 0 notifications
100% passed

Unit Tests:
------------------------------
Finished in 40.844376 seconds.
5848 tests, 79304 assertions, 0 failures, 0 errors, 0 pendings,
0 omissions, 0 notifications
100% passed

RuboCop:
------------------------------
798 files inspected, no offenses detected
Add support of encrypted ApplePay and GooglePay
payload.

Unit:
49 tests, 249 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed

Remote:
39 tests, 174 assertions, 2 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
94.8718% passed
* Cybersource Rest: Support L2/L3 data

COMP-134

Adds support for L2 and L3 data to the Cybersource Rest
gateway

Test Summary
Local:
5882 tests, 79430 assertions, 0 failures, 23 errors, 0 pendings, 0 omissions, 0 notifications
99.609% passed
Unit:
36 tests, 189 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed
Remote:

* Worldpay: Refactor L2/L3 data

COMP-134

Refactor L2/L3 data for Worldpay to be more in line with
how active merchant gateways expect this data. It also lowers the burden
for what merchants must provide to use L2/L3 data

Test Summary
Local:
5883 tests, 79441 assertions, 0 failures, 23 errors, 0 pendings, 0 omissions, 0 notifications
99.609% passed

Unit:
117 tests, 668 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed

Remote:
103 tests, 444 assertions, 2 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
98.0583% passed

* change total amount to not be summed

* remove commented out code

* rename to line_items

* changelog
Description
-------------------------
This commit enable AUTP card type to be used as a valid credit card

Unit test
-------------------------
Finished in 0.041087 seconds.

70 tests, 661 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed

1703.70 tests/s, 16087.81 assertions/s

Rubocop
-------------------------
798 files inspected, no offenses detected

Co-authored-by: Javier Pedroza <[email protected]>
Updated ruby version and fixed a few remote test suites.
FlexCharge: Adding Inquire support

Summary:
------------------------------
Changes FlexCharge inquire call to reflect deprecated
end-point

[SER-1153](https://spreedly.atlassian.net/browse/SER-1153)

Remote Test:
------------------------------
Finished in 38.700031 seconds.
16 tests, 43 assertions, 0 failures, 3 errors, 0 pendings,
1 omissions, 0 notifications
100% passed

Unit Tests:
------------------------------
Finished in 62.753266 seconds.
5923 tests, 79804 assertions, 0 failures, 0 errors, 0 pendings,
0 omissions, 0 notifications
100% passed

RuboCop:
------------------------------
798 files inspected, no offenses detected
141 and 142 are successful responses for prepaid cards.

Unit:
61 tests, 274 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed

Remote:
57 tests, 250 assertions, 1 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
98.2456% passed
* Braintree and Worldpay: support overriding NTID

COMP-160

Adds support for the Braintree Blue and Worldpay gateways for
merchants to override and bring their own NTID instead of relying
on the standardized NTID framework

Test Summary
Local:
5908 tests, 79610 assertions, 0 failures, 23 errors, 0 pendings, 0 omissions, 0 notifications
99.6107% passed
Unit:
Worldpay:
119 tests, 672 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed
Braintree:
104 tests, 219 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed
Remote:
Worldpay:
104 tests, 447 assertions, 3 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
97.1154% passed
Braintree:
120 tests, 646 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed

* PR feedback

* changelog
* Cybersource Rest: Stored Credential refactor

COMP-78

Refactors the stored credential support for the Cybersource Rest
gateway to be in-line with their documentation. Also repairs test
suite for this gateway by eliminating certain tests and fixing
others.

Test summary:
Local:
5838 tests, 79156 assertions, 2 failures, 23 errors, 0 pendings, 0 omissions, 0 notifications
99.5718% passed
Unit:
30 tests, 144 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed
Remote:
43 tests, 143 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed

* PR feedback

* pending

* wip

* remove old code

* changelog
SER-140

add support to make purchase, authorize transactions using network tokens in the plexo gateway

Test summary:
Local:
5910 tests, 79650 assertions, 0 failures, 17 errors, 0 pendings, 0 omissions, 0 notifications
99.7124% passed
Unit:
25 tests, 134 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed
Remote:
32 tests, 36 assertions, 21 failures, 3 errors, 0 pendings, 3 omissions, 0 notifications
17.2414% passed
Summary:
------------------------------
Add unit and remote tests for network token transactions

[SER-1270](https://spreedly.atlassian.net/browse/SER-1270)

Remote Test:
------------------------------
Finished in 88.332434 seconds.
60 tests, 261 assertions, 0 failures, 0 errors, 0 pendings,
0 omissions, 0 notifications
100% passed

Unit Test:
------------------------------
Finished in 45.844644 seconds.
5931 tests, 79847 assertions, 0 failures, 0 errors, 0 pendings,
0 omissions, 0 notifications
100% passed

RuboCop:
------------------------------
798 files inspected, no offenses detected
SER-1302

Description
-------------------------
Add support to make verify transactions with authorize and void using a multiresponse thread

Unit test
-------------------------
25 tests, 136 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed

Remote test
-------------------------
23 tests, 57 assertions, 2 failures, 0 errors, 0 pendings, 1 omissions, 0 notifications
90.9091% passed

Rubocop
-------------------------
798 files inspected, no offenses detected
[ECS-3450](https://spreedly.atlassian.net/browse/ECS-3450)

This PR updates adds stored credendials and 3ds exemptions for redsys rest

Unit tests
----------------
Finished in 0.023518 seconds.

28 tests, 118 assertions, 0 failures,
0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed

Remote tests
----------------
Finished in 33.326868 seconds.

26 tests, 93 assertions, 1 failures,
0 errors, 0 pendings, 0 omissions, 0 notifications
96.1538% passed

0.78 tests/s, 2.79 assertions/s

-> failure not related to changes
Description
-------------------------
SER-1323
Unit test
-------------------------
25 tests, 136 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed
Remote test
-------------------------
23 tests, 57 assertions, 2 failures, 0 errors, 0 pendings, 1 omissions, 0 notifications
90.9091% passed
Account Funding Transactions, which Worldpay refers to as "Pull from
Card"
https://staging-developer.fisglobal.com/apis/wpg/manage/pull-from-card

Remote: (10 unrelated failures on master)
110 tests, 443 assertions, 10 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
90.9091% passed

Unit:
124 tests, 698 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed

ECS-3554
gasb150 and others added 30 commits January 13, 2025 10:55
* VersaPay: Improve Message Error and  Error Mapping

Summary
----------------
This add suppor for NetworkTokenizedCreditCard with redsys
Enhance Scrubbing method

[SER-1515](https://spreedly.atlassian.net/browse/SER-1515)
[SER-1540](https://spreedly.atlassian.net/browse/SER-1540)

Unit Tests
----------------
Finished in 0.039932 seconds.
30 tests, 164 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed

Remote Tests
----------------
Finished in 27.288085 seconds.
28 tests, 51 assertions, 19 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
32.1429% passed

Rubocop
----------------
803 files inspected, no offenses detected

* Changelog

---------

Co-authored-by: Nick Ashton <[email protected]>
Add metadata to Credit and pending as a field for response.
Set pending to true for CheckoutV2 if a Credit returns
status of Pending.

Only add response['error_codes'] to the message if it exist.
Remote
113 tests, 282 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed

Unit:
67 tests, 420 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed
Summary:
------------------------------
This change centralizes version management at the class level,
creating a consistent and reusable way to define and access API versions.

Unit Tests:
------------------------------
6155 tests, 80982 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed

RuboCop:
------------------------------
808 files inspected, no offenses detected
Description
-------------------------
[SER-1568](https://spreedly.atlassian.net/browse/SER-1568)

This commit fixes a 3DS transaction issue when three_ds_2 data is null.
Additionally, some remote test were failing due some changes in the
Nuvei Api, so this commit inlcude a round_down method to fix remote tests.

Unit test
-------------------------
Finished in 1.349927 seconds.

29 tests, 161 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed

21.48 tests/s, 119.27 assertions/s

Remote test
-------------------------
Finished in 270.209319 seconds.

43 tests, 139 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed

0.16 tests/s, 0.51 assertions/s

Rubocop
-------------------------
806 files inspected, no offenses detected

Co-authored-by: Nick Ashton <[email protected]>
Remote
37 tests, 102 assertions, 2 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
94.5946% passed
----------------
Add Support for INR Currency in Orbital Gateway

[OPPS-304](https://spreedly.atlassian.net/browse/OPPS-304)

Unit Tests
----------------
Finished in 158.073664 seconds.
135 tests, 546 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed
0.85 tests/s, 3.45 assertions/s

Remote Tests
----------------
Finished in 26.432207 seconds.
6148 tests, 80993 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed
232.60 tests/s, 3064.18 assertions/s

Rubocop
----------------
806 files inspected, no offenses detected
* RedsysRest: Improve authorization from in Redsys

Summary
----------------
This enhance the authorization from method to include
the 3DS case.

[SER-1553](https://spreedly.atlassian.net/browse/SER-1553)

Unit Tests
----------------
Finished in 0.03838 seconds.
28 tests, 124 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed

Remote Tests
----------------
Finished in 41.53788 seconds.
29 tests, 111 assertions, 1 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
96.5517% passed

Rubocop
----------------
806 files inspected, no offenses detected

* Changelog

---------

Co-authored-by: Nick <[email protected]>
LOCAL
6146 tests, 80950 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed

UNIT
30 tests, 152 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed

REMOTE
43 tests, 98 assertions, 7 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
83.7209% passed

^these remote test failures also exist on the master branch

CER-1907
Now including: Costa Rica, Dominican Republic, Guatemala, Panama, Paraguay, Uruguay

CER-2035

LOCAL
6169 tests, 81063 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed

808 files inspected, no offenses detected

REMOTE

43 tests, 98 assertions, 7 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
83.7209% passed

UNIT

29 tests, 146 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed
CER-2034

6169 tests, 81065 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed

808 files inspected, no offenses detected
* Checkout v2: add l2/l3

Summary
----------------
This adds the L2/L3 fields required in purchase, authorize and capture transactions

[SER-1554](https://spreedly.atlassian.net/browse/SER-1554)

Unit Tests
----------------
Finished in 0.282324 seconds.
70 tests, 481 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed

Remote Tests
----------------
Finished in 164.547288 seconds.
116 tests, 280 assertions, 7 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
93.9655% passed

Rubocop
----------------
806 files inspected, no offenses detected

* changelog

---------

Co-authored-by: Nick <[email protected]>
Remote
118 tests, 504 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed
This method was copied from similar NabTransactGateway, but placed at the
top because it contains a default value.

rake test TEST=test/unit/gateways/secure_pay_au_test.rb
26 tests, 112 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed

rake test TEST=test/remote/gateways/remote_secure_pay_au_test.rb
18 tests, 57 assertions, 0 failures, 0 errors, 0 pendings, 2 omissions, 0 notifications
100% passed
CER-2023

This field is an object that expects data specific to Japanese branded cards and the ja-Kana character set.
If localized shopper statement is not provided it will default to shopper statement in authorize transaction types.

For refund and capture, it is sent through as part of additional data and will likely not display on credit card statements for that reason.

Unit Tests
138 tests, 731 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed

Remote Tests
152 tests, 481 assertions, 12 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
92.1053% passed
*12 tests also failing on master
Updating maxx_retries to 1 ensures that retries are
not attempt which was the original purpose of setting
max_retries in this gateway

Remote
8 tests, 36 assertions, 2 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
75% passed
Update 3DS fields to pass browser_info in the request.

Remote:
142 tests, 726 assertions, 3 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
97.8873% passed
Description
-------------------------
[SER-1583](https://spreedly.atlassian.net/browse/SER-1583)

This commit update the money format in order to send
the correct amount to nuvei gateway.

Unit test
-------------------------
Finished in 1.534697 seconds.

32 tests, 169 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed

20.85 tests/s, 110.12 assertions/s

Remote test
-------------------------
Finished in 109.96803 seconds.

43 tests, 139 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed

0.39 tests/s, 1.26 assertions/s

Rubocop
-------------------------
808 files inspected, no offenses detected

Co-authored-by: Nick Ashton <[email protected]>
…ant#5380)

* New Credit Card Sol: Add new bin set for Sol credit card

Description
-------------------------
[SER-1521](https://spreedly.atlassian.net/browse/SER-1521)

This commit add a new Bin set for "Tarjeta Sol" and
remove this Bin from the Mastro set.

Unit test
-------------------------
Finished in 0.150677 seconds.

76 tests, 672 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications

100% passed
504.39 tests/s, 4459.87 assertions/s

Rubocop
-------------------------
806 files inspected, no offenses detected

* changelog

---------

Co-authored-by: Nick Ashton <[email protected]>
Adds AFT fields to auth and purchase.

CER-2069

Unit Tests
140 tests, 771 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed

Remote Tests
122 tests, 490 assertions, 11 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
90.9836% passed
*11 tests also failing on master
shopperInteraction should be Ecommerce if
shopper_interaction is in options and
initiator is cardholder.

Remote:
149 tests, 474 assertions, 12 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
91.9463% passed
Description
-------------------------
[SER-1604](https://spreedly.atlassian.net/browse/SER-1604)

This commit rename the card type for tarjeta sol
to 'tarjeta_sol' instead 'sol'

Unit test
-------------------------
Finished in 0.155089 seconds.

76 tests, 672 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed

490.04 tests/s, 4333.00 assertions/s

Rubocop
-------------------------
808 files inspected, no offenses detected
…erchant#5383)

Description
-------------------------
[SER-1523](https://spreedly.atlassian.net/browse/SER-1523)

This commit adds support for credit card "tarjeta sol" for the following
gateways

Decidir, DecidirPlus, GlobalCollect, dLocal, CyberSource, CyberSourceRest
MercadoPago, Redsys, RedsysRest, CheckoutV2, Worldpay and Adyen.

Co-authored-by: Nick Ashton <[email protected]>
Description
-------------------------
[SER-1584](https://spreedly.atlassian.net/browse/SER-1584)

This commit fixes the field mapping for ClientRequestId.
It maps the ClientRequestId with order_id if it is present

Unit test
-------------------------
Finished in 1.018876 seconds.

33 tests, 174 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed

31.41 tests/s, 167.83 assertions/s

Remote test
-------------------------
Finished in 117.535108 seconds.

44 tests, 147 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed

0.37 tests/s, 1.22 assertions/s

Rubocop
-------------------------
808 files inspected, no offenses detected

Co-authored-by: Nick Ashton <[email protected]>
CER-2099

Prevents sending middle name and address2 in request if no values are present.
Fields are optional but should not be sent empty.

Unit Tests
141 tests, 778 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed

Remote Tests
123 tests, 497 assertions, 11 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
90.9836% passed
*11 tests also failing on master
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.