我们的网站上有一个付款页面。我们通过 Braintree 实现了它。 PoC 在这里 http://petrzampach-001-site11.smarterasp.net/ 代码类似这样:
<script src="https://js.braintreegateway.com/v2/braintree.js"></script>
@using (Html.BeginForm("CreatePurchase", "Home", FormMethod.Post, new { role = "form" }))
{
<div id="paymentGate">
<div id="payment-form"></div>
</div>
<script>
braintree.setup(
"@ViewBag.BrainTreeClientToken",
"dropin", {
container: "payment-form"
});
</script>
}
到目前为止一切顺利。但是,当您单击 Paypal 按钮时,我们不喜欢弹出窗口。我们想将它整合到我们的网站中。我询问了 Braintree 的支持,他们告诉了我们有关 v.zero 的信息。出色的!但不幸的是,我们无法弄清楚这一点。无论我们尝试什么,它总是在弹出窗口中打开。 我的另一个 PoC 在这里: http://petrzampach-001-site11.smarterasp.net/home/CustomUI 代码如下所示:
<script src="https://js.braintreegateway.com/js/braintree-2.21.0.min.js"></script>
@using (Html.BeginForm("CreatePurchase", "Home", FormMethod.Post, new { role = "form", id = "payment-form" }))
{
<label for="card-number">Card Number</label>
<div id="card-number" style="border:1px solid black;height:20px;"></div>
<label for="cvv">CVV</label>
<div id="cvv" style="border:1px solid black;height:20px;"></div>
<label for="expiration-date">Expiration Date</label>
<div id="expiration-date" style="border:1px solid black;height:20px;"></div>
<div id="paypal-container"></div>
<script type="text/javascript">
braintree.setup("@ViewBag.BrainTreeClientToken", "custom", {
id: "payment-form",
hostedFields: {
number: {
selector: "#card-number"
},
cvv: {
selector: "#cvv"
},
expirationDate: {
selector: "#expiration-date"
}
},
paypal: {
container: "paypal-container",
},
onPaymentMethodReceived: function (obj) {
}
});
</script>
}
我们可以自定义信用卡字段,但仍然无法将 Paypal 登录嵌入到我们的页面中。
感谢您的任何建议。 彼得
最佳答案
完全披露:我在 Braintree 工作。如果您有任何其他问题,请随时联系我们的support团队。
使用 v.zero 时,用于接受 PayPal 凭据的表单会在弹出窗口中打开。这样客户就知道他们正在以安全、加密的方式向 PayPal 提供凭据,而不是在恶意网站上输入凭据。使用 PayPal 付款的人希望他们可以验证他们的凭据是否只提交给 PayPal,以这种方式实现 v.zero 会带来更高的转化率,这是我们以这种方式实现它的动机。
没有允许不通过弹出窗口输入 PayPal 凭据的选项。
关于paypal - braintree 嵌入式 Paypal 结帐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35808330/