[英]Using Stripe Checkout in Cordova
我可以讓Stripe Checkout在我的 Ionic/Cordova 應用程序中工作。 它顯示了一個 iFrame,允許用戶輸入他們的 Stripe 登錄信息/信用卡信息以完成付款過程。
但是,我無法正確支持一種用戶案例 - 當用戶單擊Terms | Privacy
來自 Stripe Checkout iFrame 的Terms | Privacy
鏈接,該鏈接是使用 Cordova Webview 打開的,這會破壞我的應用程序,因為 Cordova 離開了我的應用程序並轉到了 Stripe 的Terms | Privacy
Terms | Privacy
網頁。 iOS 上沒有后退按鈕,即使 Android 上有后退按鈕,應用程序狀態也完全被破壞,因為我們已經離開了我們的應用程序。
我曾嘗試使用In app browser
,但沒有運氣,因為我無法從 Stripe 獲取 URL 以將它們提供給In app browser
。 此外,由於安全原因,我無法操作 Stripe Checkout iFrame HTML。 因此,我似乎沒有任何方法可以制定Terms | Privacy
In app browser
打開Terms | Privacy
或隱藏/刪除Terms | Privacy
通過更改 iFrame HTML 來保護Terms | Privacy
。
這個問題有解決方案嗎? 如果沒有,我可能會考慮不在我的應用中使用 Stripe Checkout。
謝謝!
我已經使用提到的 InAppBrowser 插件成功地讓 Stripe Checkout 在 Cordova 應用程序中工作。
您是對的,您不能使用直接返回 URL 提供 InAppBrowser 插件,因為用於結帳的 Stripes javascript 只會創建重定向。
解決這個問題的方法是創建您自己的 php 文件,該文件將執行條帶重定向。
redirect.php 看起來像這樣,用於使用軟支付類型。
<?php
// Include neccessary php Stripe sdk
require_once('PATH TO STRIPE SDK');
$stripe_secret_key = 'YOUR STRIPE SECRET KEY';
$stripe_api_key = 'YOUR STRIPE API KEY';
// Using Stripe SDK create the Checkout
// price in €
$price_including = 100;
\Stripe\Stripe::setApiKey($stripe_secret_key);
$session = \Stripe\Checkout\Session::create([
'payment_method_types' => ['sofort'],
'line_items' => [[
'price_data' => [
'currency' => 'eur',
'product_data' => [
'name' => 'YOUR PRODUCT NAME',
],
'unit_amount' => $price_including*100,
],
'quantity' => 1,
]],
'mode' => 'payment',
'success_url' => 'URL TO YOUR SUCCESS PAGE',
'cancel_url' => 'URL TO YOUR ERROR PAGE',
]);
$sid = $session->id;
// with the created Session ID call the Stripe Javascript which will do the redirect
// Include Stripe JS First
echo '<script src="https://js.stripe.com/v3/"></script>';
echo '<script type="text/javascript">
var stripe = Stripe("'.$stripe_api_key.'");
function redirect()
{
return stripe.redirectToCheckout({ sessionId: "'.$sid.'" });
}
redirect();
</script>';
?>
基本上就是這樣,您現在要做的就是使用指向您創建的 php 文件的 URL 調用 InAppBrowser ;)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.