Skip to content

Commit

Permalink
Add extra headers to PaymentAuthWebViewActivity's loadUrl request (#3551
Browse files Browse the repository at this point in the history
)

Pass the `X-Stripe-Client-User-Agent` in the initial `hooks.stripe.com`
request to help identify the requesting SDK version.
  • Loading branch information
mshafrir-stripe authored Apr 1, 2021
1 parent 3b5f3d5 commit 46b65b6
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,10 @@ class PaymentAuthWebViewActivity : AppCompatActivity() {
viewModel.logStart(
runCatching { Uri.parse(args.url) }.getOrNull()
)
viewBinding.webView.loadUrl(args.url)
viewBinding.webView.loadUrl(
args.url,
viewModel.extraHeaders
)
}

@VisibleForTesting
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,13 @@ import androidx.lifecycle.ViewModelProvider
import com.stripe.android.AnalyticsEvent
import com.stripe.android.Logger
import com.stripe.android.PaymentConfiguration
import com.stripe.android.Stripe
import com.stripe.android.StripeIntentResult
import com.stripe.android.auth.PaymentAuthWebViewContract
import com.stripe.android.networking.AnalyticsDataFactory
import com.stripe.android.networking.AnalyticsRequest
import com.stripe.android.networking.AnalyticsRequestExecutor
import com.stripe.android.networking.StripeClientUserAgentHeaderFactory
import com.stripe.android.payments.PaymentFlowResult
import com.stripe.android.stripe3ds2.init.ui.StripeToolbarCustomization

Expand All @@ -22,6 +24,10 @@ internal class PaymentAuthWebViewActivityViewModel(
private val analyticsRequestFactory: AnalyticsRequest.Factory,
private val analyticsDataFactory: AnalyticsDataFactory
) : ViewModel() {
val extraHeaders: Map<String, String> by lazy {
StripeClientUserAgentHeaderFactory().create(Stripe.appInfo)
}

@JvmSynthetic
internal val buttonText = args.toolbarCustomization?.let { toolbarCustomization ->
toolbarCustomization.buttonText.takeUnless { it.isNullOrBlank() }
Expand Down

0 comments on commit 46b65b6

Please sign in to comment.