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

[REFACTOR] Worldpay payments integration #6316

Closed
2 tasks done
kashif-m opened this issue Oct 15, 2024 · 8 comments · Fixed by #6317, #6392, #6400, #6420 or #6468
Closed
2 tasks done

[REFACTOR] Worldpay payments integration #6316

kashif-m opened this issue Oct 15, 2024 · 8 comments · Fixed by #6317, #6392, #6400, #6420 or #6468
Assignees
Labels
C-feature Category: Feature request or enhancement

Comments

@kashif-m
Copy link
Contributor

Feature Description

WorldPay payments integration currently makes use of modular APIs which gives more control over the integration. This approach is not best compatible with HyperSwitch due to WP's 3DS flows - which requires sending PAN (card numbers) in multiple places. For on_session transactions, this would contribute to the added complexity since data is not stored in such transactions (or stored for ~15mins in redis cache).

Migrating to WP's standard payments API follows payment resource creation in an uniform way.

Possible Implementation

Migrate from modular APIs [ref] to standard payment APIs [ref].

Have you spent some time checking if this feature request has been raised before?

  • I checked and didn't find a similar issue

Have you read the Contributing Guidelines?

Are you willing to submit a PR?

Yes, I am willing to submit a PR!

@kashif-m kashif-m added C-feature Category: Feature request or enhancement S-awaiting-triage Status: New issues that have not been assessed yet labels Oct 15, 2024
@kashif-m kashif-m self-assigned this Oct 15, 2024
@kashif-m
Copy link
Contributor Author

kashif-m commented Oct 22, 2024

# 2

Propagate the refusal codes as error codes in HyperSwitch.

@kashif-m
Copy link
Contributor Author

kashif-m commented Oct 23, 2024

# 3

  • Make payment_method_type non-mandatory
  • Fix PM filters

@kashif-m
Copy link
Contributor Author

# 4

  • Add cypress test cases

@kashif-m
Copy link
Contributor Author

kashif-m commented Oct 30, 2024

# 5

  • Use automatic capture by default
  • Add dynamic fields
  • Bugfix - Refund list
    • Refunds list does not work for Worldpay
    • Why?
      • Refunds retrieve flow looks up for payment_attempt in DB using connector_transaction_id stored in refunds table.
      • connector_transaction_id in payment_attempt is a hashed value for Worldpay (due to it's ID length being > 128 chars)
      • Application uses ConnectorTransactionId and the value to lookup PaymentAttempt is happening using the actual ID instead of the hashed ID
    • Fix
      • Make find_by_connector_transaction_id_payment_id_merchant_id use ConnectorTransactionId instead of str
      • Lookup in DB using the value stored in that column instead of fetching actual connector's transaction ID

@kashif-m
Copy link
Contributor Author

kashif-m commented Nov 5, 2024

# 6

  • Mandates
  • Webhooks

@kashif-m kashif-m linked a pull request Nov 5, 2024 that will close this issue
14 tasks
@SanchithHegde SanchithHegde removed the S-awaiting-triage Status: New issues that have not been assessed yet label Nov 10, 2024
@kashif-m
Copy link
Contributor Author

# 7 Bugs

  • Use 4 digit expiry year

@kashif-m
Copy link
Contributor Author

Re-opening for #6468

@kashif-m
Copy link
Contributor Author

kashif-m commented Dec 4, 2024

# 8

Refactor

  • Update username and password mapping during MCA creation on dashboard

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment