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

[MREWARDS-4093] Merge original repo to fork #33

Merged
merged 110 commits into from
Sep 11, 2024

Conversation

fernando-bosso
Copy link

@fernando-bosso fernando-bosso commented Sep 11, 2024

LINK ASSOCIATED WITH THIS PULL REQUEST

MREWARDS-4093

DESCRIPTION OF PULL REQUEST

Adds following changes from original repo to fork:

IMPACT ASSESSMENT

ACCESS - DOES THIS PULL REQUEST IMPACT PLATFORM ROLES, PASSWORDS, OR SESSION CONFIGURATIONS?
  • No
  • Yes. Please describe the change:
DEPLOYMENT - DOES THIS PULL REQUEST REQUIRE DEPLOYMENT CHANGES?
  • No
  • Yes. Please describe the change:
COMPONENTS - WAS A NEW COMPONENT (RUBY GEM, JAVASCRIPT PACKAGE) INTRODUCED TO THE CODE BASE?
  • No
  • Yes. Please describe the change:
SECURITY - DOES THIS PULL REQUEST IMPACT OUR API (NEW OR MODIFIED ENDPOINTS OR CHANGES TO REQUEST AND RESPONSE BODY)
  • No
  • Yes. Please describe the change:
LOGGING - DOES THIS PULL REQUEST IMPACT HOW WE LOG (3RD PARTIES, LOG DATA, LOCATION OF LOGS)
  • No
  • Yes. Please describe the change:
ENCRYPTION - DOES THIS PULL REQUEST IMPACT OUR ENCRYPTION LEVELS (IN TRANSIT OR AT REST)
  • No
  • Yes. Please describe the change:

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

PayWith Code Review Checklist

Alma Malambo and others added 30 commits May 29, 2024 08:46
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
Always send commerceIndicator if stored
credential reason_type is present. Update
the value send for NetworkTokens commerceIndicator
based on if they are using stored credentials.

Spreedly reference:
[ECS-3532](https://spreedly.atlassian.net/browse/ECS-3532)

Unit tests

Finished in 26.745895 seconds.
5912 tests, 79756 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed

RuboCop

798 files inspected, no offenses detected
If alternate_ucaf_flow is true and the eci value is 4, 6, or 7 then
send the ucaf passed in by customer. If alternate_ucaf_flow is not
passed then only send ucaf if provided by customer if not pass default
of 4.

Remote:
134 tests, 543 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed

Unit:
152 tests, 892 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed
Summary:
------------------------------
Changes FlexCharge to add support for the authorize and
capture operations and also a fix a bug on the `address_names`
method

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

Remote Test:
------------------------------
Finished in 72.283834 seconds.
19 tests, 54 assertions, 1 failures, 0 errors, 0 pendings,
1 omissions, 0 notifications
94.4444% passed

Unit Tests:
------------------------------
Finished in 43.11362 seconds.
5944 tests, 79908 assertions, 0 failures, 0 errors, 0 pendings,
0 omissions, 0 notifications
100% passed

RuboCop:
------------------------------
798 files inspected, no offenses detected
Summary:
------------------------------
Changes FlexCharge to add support for the void operation.

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

Remote Test:
------------------------------
Finished in 70.477035 seconds.
19 tests, 54 assertions, 0 failures, 0 errors, 0 pendings,
1 omissions, 0 notifications
100% passed

Unit Tests:
------------------------------
Finished in 60.782586 seconds.
5956 tests, 79948 assertions, 0 failures, 0 errors, 0 pendings,
0 omissions, 0 notifications
100% passed

RuboCop:
------------------------------
798 files inspected, no offenses detected
CER-1567

Sends code '058' for carnet card type in legacy CyberSource and CyberSource REST gateways
Luis Urrea and others added 22 commits August 28, 2024 14:23
Summary:
------------------------------
Decidir - Send expiration_month and expiration_year fields in request for tokenized NT transactions.

Spreedly reference:
[SER-3682](https://spreedly.atlassian.net/browse/SER-3682)

Remote Test:
------------------------------
Loaded suite test/remote/gateways/remote_decidir_test
Started
Finished in 49.764098 seconds.
27 tests, 97 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed
0.54 tests/s, 1.95 assertions/s

Unit Tests:
------------------------------
Finished in 32.823471 seconds.
5991 tests, 80194 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed
182.52 tests/s, 2443.19 assertions/s

RuboCop:
------------------------------
798 files inspected, no offenses detected
unit:
124 tests, 655 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed

remote:
143 tests, 462 assertions, 13 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
90.9091% passed (Same store and unstore failures as master branch)
Summary:
------------------------------
StripePI: Skip add_network_token_cryptogram_and_eci method to accept ApplePay recurring payments and add unit/remote tests

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

Remote Test:
------------------------------
Loaded suite test/remote/gateways/remote_stripe_payment_intents_test
Started
Finished in 255.69074 seconds.
97 tests, 460 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed
0.38 tests/s, 1.80 assertions/s

Unit Tests:
------------------------------
Finished in 29.539052 seconds.
5993 tests, 80199 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed
202.88 tests/s, 2715.02 assertions/s

RuboCop:
------------------------------
798 files inspected, no offenses detected
Summary:
------------------------------
Decidir - Fix scrub method for token_card_data/token and cryptogram.

Spreedly reference:
[SER-3682](https://spreedly.atlassian.net/browse/SER-3682)

Remote Test:
------------------------------
Loaded suite test/remote/gateways/remote_decidir_test
Started
Finished in 49.764098 seconds.
27 tests, 97 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed
0.54 tests/s, 1.95 assertions/s

Unit Tests:
------------------------------
Finished in 31.073943 seconds.
6007 tests, 80257 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed
193.31 tests/s, 2582.77 assertions/s

RuboCop:
------------------------------
801 files inspected, no offenses detected
CER-1718

CyberSource

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

Remote
137 tests, 681 assertions, 7 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
94.8905% passed
*7 tests also failing on master

CyberSource REST

Unit
40 tests, 216 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed

Remote
53 tests, 176 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed
CER-1717

LOCAL
6007 tests, 80257 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed

RUBOCOP
Inspecting 801 files
801 files inspected, no offenses detected

UNIT
62 tests, 321 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed

REMOTE
95 tests, 454 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed
Summary:
------------------------------
MercadoPago only sending platform/partnership info on production.

Remote Test:
------------------------------
Finished in 79.263845 seconds.
20 tests, 56 assertions, 0 failures, 0 errors, 0 pendings,
1 omissions, 0 notifications
100% passed

Unit Tests:
------------------------------
Finished in 68.455283 seconds.
6012 tests, 80277 assertions, 0 failures, 0 errors, 0 pendings,
0 omissions, 0 notifications
100% passed

RuboCop:
------------------------------
801 files inspected, no offenses detected
…5234)

Summary:
------------------------------

For NT transactions we must pass the Bin and the last4
digits of the underlying PAN, otherwise we can't pass it
currently we where passing those values based in the NT number
instead of PAN ones, and due we don't have the underlying PAN,
those lines are unnecesary.

Remote Tests:
------------------------------
Finished in 44.017128 seconds.
32 tests, 65 assertions, 0 failures, 0 errors, 0 pendings, 3 omissions, 0 notifications
100% passed

Unit Tests:
------------------------------
Finished in 0.040727 seconds.
25 tests, 140 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed

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

Co-authored-by: Gustavo Sanmartin <[email protected]>
Co-authored-by: Nick Ashton <[email protected]>
Remote:
98 tests, 462 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed

If the payment methods is GooglePay FPAN which would be treated
as a CreditCard then add metadata.input_method as GooglePay.
Add inquire method to get the latest status
on a transaction.

Remote
31 tests, 87 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed
The original implementation of the `leg` field assumes that there will be one `leg` hash provided, but based on Adyen's documentation, the flexibility to send multiple legs (leg1, leg2, etc.) is required

CER-1738

LOCAL
6016 tests, 80319 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed

RUBOCOP
801 files inspected, no offenses detected

UNIT
127 tests, 691 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed

REMOTE
147 tests, 471 assertions, 12 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
91.8367% passed
* Support proxy settings with user and password

* Fix tests for proxy settings
If a Authorization transaction needs to be voided then
AuthorisationReversal needs to be used instead of Void.

22 tests, 58 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed
Update Stored Credentials to only send NTID if
stored_credential_transaction_type is
setup_off_session_unscheduled or setup_off_session_recurring.

Remote:
96 tests, 457 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed
This will allow all NT transactions to pass CVV if present.

Remote
27 tests, 97 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed
Remote
39 tests, 95 assertions, 2 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
94.8718% passed
Signed-off-by: Luiz Bosso <[email protected]>
Copy link
Member

@henriquegasques henriquegasques left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. I've thoroughly reviewed every line with great attention and I didn't find any issues

😄

@fernando-bosso fernando-bosso merged commit 912527b into main Sep 11, 2024
1 check passed
@fernando-bosso fernando-bosso deleted the update-with-original-repo branch September 11, 2024 22:58
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.