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

CardClient/ PayPalWebCheckout Analytics Audit #312

Closed
wants to merge 4 commits into from

Conversation

KunJeongPark
Copy link
Collaborator

@KunJeongPark KunJeongPark commented Dec 6, 2024

Summary of changes

Change analytic event names for accuracy and consistency with Android

Checklist

- [ ] Added a changelog entry

Authors

List GitHub usernames for everyone who contributed to this pull request.

Co-authored-by: Suraj Dhopati<[email protected]>
@KunJeongPark KunJeongPark requested a review from a team as a code owner December 6, 2024 18:58
@@ -113,19 +113,15 @@ public class CardClient: NSObject {
return
}

analyticsService?.sendEvent("card-payments:3ds:confirm-payment-source:challenge-required")
analyticsService?.sendEvent("card-payments:approve-order:auth-challenge-required")
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
analyticsService?.sendEvent("card-payments:approve-order:auth-challenge-required")
analyticsService?.sendEvent("card-payments:approve-order:payer-action-required")

I wonder if we should start aligning our naming conventions with PPaaS more? I've been back and forth for a while, but it may be helpful for migrating merchants with direct integrations to our SDK since they'll be familiar with the terminology.

It may be out of scope for this PR, but it applies throughout the SDK e.g. we could rename CardClient.approveOrder() to CardClient.confirmPaymentSource() etc. Does that sound worthwhile?

Copy link
Collaborator Author

@KunJeongPark KunJeongPark Dec 6, 2024

Choose a reason for hiding this comment

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

It was a bit confusing. For some reason we had both in iOS, confirm-payment-source events and approve-order final events. So we simplified it to just approve-order, following Android implementation.

I thought about the naming and it'd be a bit confusing to have convention of API name because for instance, PayPal web module just presents the pages. I think following function name as you did makes sense.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Right yeah it's the same for us on Android. PayPal always shows an auth challenge. On the other hand, for Android Card we have a 2-step process since not all payment source confirmations require 3DS. They may succeed on the first CardClient.approveOrder(). It's also a 2-step process on Android mostly because of process kill.

@KunJeongPark KunJeongPark changed the title CardClient Analytics Audit CardClient/ PayPalWebCheckout Analytics Audit Dec 6, 2024
@KunJeongPark
Copy link
Collaborator Author

We are going to close this for now to list events we are sending for both iOS and Android and align on which events to send.

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.

2 participants