我们的网站上有付款页面。我们通过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登录信息嵌入我们的页面。
感谢您的任何建议。 彼得
答案 0 :(得分:1)
完全披露:我在Braintree工作。如果您有任何其他问题,请随时与我们的support小组联系。
使用v.zero时,接收PayPal凭据的表单会在弹出窗口中打开。这样客户就知道他们以安全,加密的方式向PayPal提供凭据,而不是在恶意网站上输入凭据。使用PayPal付款的人希望他们可以验证他们的凭据只是提交给PayPal,以这种方式实施v.zero会带来更高的转换率,这是我们以这种方式实施它的动机。
没有选项允许不通过弹出窗口输入PayPal凭证。