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

Shopper insights rp2 feature #1502

Open
wants to merge 13 commits into
base: main
Choose a base branch
from
Open

Conversation

warmkesselj
Copy link
Contributor

@warmkesselj warmkesselj commented Jan 14, 2025

Summary of changes

Merge ShopperInsights Feature RP2 to main. Updated from main -> rp1 -> rp2.

Checklist

  • Added a changelog entry
  • Tested and confirmed payment flows affected by this change are functioning as expected

Authors

@warmkesselj
@jwarmkessel

stechiu and others added 12 commits December 6, 2024 10:33
* Added `isPayPalAppInstalled`, `isVenmoAppInstalled` methods

* Moved methods to Shopper Insights

* Fixed failing unit tests. Added to CHANGELOG

* Addressed PR comment

* Update Sources/BraintreeShopperInsights/BTShopperInsightsClient.swift
* Added `sessionID` to BTShopperInsightClient. Added unit tests

* Added unit tests. Updated demo app

* Added to CHANGELOG

* Removed `payPalSessionID`
* Add shopperSessionID to BTPayPalRequest

* Update parameters to Vault and Checkout request

* Testing shopperSessionId

* Demo app textField for shopper session Id

* Added unit test

* Updated CHANGELOG

* Fixed lint error

* Remove UI for demo app and adding shopper sessionId property to native checkout and web checkout.

* Update comment for shopper session Id

* Fixed lint errors

* PR update

---------

Co-authored-by: stechiu <stechiu@paypal.com>
#1482)

* If a shopperSessionID exists, override the value with the one retrieved from Shopper Insights Server

* Add unit tests

* Update unit tests
…o shopper-insights-rp1-feature

# Conflicts:
#	CHANGELOG.md
#	Sources/BraintreePayPal/BTPayPalClient.swift
* Changelog

* Fix merge conflict

* update invokedOpenURLSuccessfully with main

* update CHANGELOG from merge confict

---------

Co-authored-by: Jax DesMarais-Leder <jdesmarais@paypal.com>
…ted Events (#1484)

* Added presentment details and events

* Addressed PR comments

* Added doc strings

* Updated CHANGELOG and unit tests

* Addressed PR comments

* Addressed PR comments

* Fixed failing tests

* Removed test from bad merge

* Fixed failing unit test

* Added unit tests

* Added missing unit tests

* Updated `buttonOrder` and doc strings

* Removed `experimentType`

* Updated doc strings

* Fixed failing tests

* Remove experimentType

* Create functions to toggle the paypal or venmo buttons and send presentment analytics at the correct time.

* Update docs

* Re add functions that were deleted. Chnage accessor for func used in unit test

* Reverse changes to PayPalClient

* Remove trailing white space

* Update Sources/BraintreeShopperInsights/BTPresentmentDetails.swift

* Update

* Update CHANGELOG.md

---------

Co-authored-by: Justin Warmkessel <Jwarmkessel@paypal.com>
Co-authored-by: Jax DesMarais-Leder <jdesmarais@paypal.com>
* Added BTButtonType enum and `sendSelectedEvent()`
* Updated unit tests
* Addressed PR comments
* Fixed failing unit test
* Removed unnecessary unit tests
* add parameters to docstring for presented event

---------

Co-authored-by: Jax DesMarais-Leder <jdesmarais@paypal.com>
…o shopper-insights-rp1-feature

# Conflicts:
#	CHANGELOG.md
@warmkesselj warmkesselj requested a review from a team as a code owner January 14, 2025 23:58
@@ -0,0 +1,25 @@
import Foundation

public class BTPresentmentDetails {
Copy link
Contributor

Choose a reason for hiding this comment

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

Can we add a docstring and beta warning here?

public func sendVenmoPresentedEvent(paymentMethodsDisplayed: [String?] = [], experiment: String? = nil) {
let paymentMethodsDisplayedString = paymentMethodsDisplayed.compactMap { $0 }.joined(separator: ", ")
/// - Parameter buttonType: Type of button presented - PayPal, Venmo, or Other
public func sendSelectedEvent(for buttonType: BTButtonType) {
Copy link
Contributor

Choose a reason for hiding this comment

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

Can we add our beta warning here?

/// - Parameter apiClient: A `BTAPIClient` instance.
/// - Parameters:
/// - apiClient: A `BTAPIClient` instance.
/// - shopperSessionID: This value should be the shopper session ID returned from your server SDK request
/// - Warning: This features only works with a client token.
Copy link
Contributor

Choose a reason for hiding this comment

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

Lets also add a warning that this init is beta

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.

4 participants