当前位置: 首页 > 知识库问答 >
问题:

触发PayPal结账按钮单击

黄元章
2023-03-14

PayPal Checkout按钮点击本身打开PayPal安全窗口,其余工作正常。当客户点击第一个单选按钮时,我想再次打开PayPal安全窗口,即触发点击PayPal结账按钮。如果按钮本身出现在iframe中,而我无法触发该按钮跨域的单击事件,我该怎么做?有没有办法触发签出按钮的点击?

这里是超文本标记语言代码:

<html>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
    <script src="https://www.paypalobjects.com/api/checkout.js"></script>
    <script type="text/javascript" src="paypal.js">

    </script>
    <body>
        <div>
        <span style="vertical-align: 50%"><input id="rd" name="aaa" type="radio"/></span>
        <div id="paypal-button-container" style="display: inline-block"></div><hr/>
        <input id="rd1" name="aaa" type="radio"/>
        </div>
    </body>
</html>

和Javascript代码:

// paypal.js
// Render the PayPal button
$(function(){
    paypal.Button.render({

        // Set your environment

        //TODO: Dynamically provide sandbox or production
        env: 'sandbox', // sandbox | production

        // PayPal Client IDs - replace with your own
        // Create a PayPal app: https://developer.paypal.com/developer/applications/create

        //TODO: Dynamically provide clientID
        client: {
            sandbox:    'ZZZZZZ',
            production: '//TODO: Provide this later'
        },

        // Wait for the PayPal button to be clicked

        payment: function() {

            // Make a client-side call to the REST api to create the payment

            return paypal.rest.payment.create(this.props.env, this.props.client, {
                transactions: [
                    {
                        amount: { total: '13.10', currency: 'USD' }
                    }
                ]
            });
        },

        // Wait for the payment to be authorized by the customer

        onAuthorize: function(data, actions) {

            return actions.payment.get().then(function(paymentData) {

                $('#paypal-button-container').style.display = 'none'; //hide button

                //TODO: Show user payment details
                //TODO: Create input hidden fields and set payerID, paymentID, etc..for later authoriza/capture
            });
        },

        onClick: function(){
            $('#rd').trigger('click');
        },

    }, '#paypal-button-container');
});

编辑:作为一个工作的例子,我会建议这个网站,但这是有点不同,我需要什么https://developer.paypal.com/demo/checkout/#/pattern/mark

共有3个答案

经和歌
2023-03-14

在我的例子中,出于空间的原因,我只想使用一个完全定制的按钮。最后,我隐藏了paypal按钮,直到它在鼠标上被一个溢出:hidden div包住。它看起来很好-就像一个没有左/右填充的方形paypal按钮。。

背景:Paypal当前的express checkout文档表示,他们只支持最小尺寸为80px的按钮,但使用CSS时,桌面上真正的最小尺寸似乎是appx 120px。

易镜
2023-03-14

我想我有点晚了,但我希望这能帮助像我一样面对这个问题的人。

您可以将paypal的按钮不透明度设置为0,并将其置于您自己的结帐按钮上。然后,您可以根据单选按钮值将其显示设置为“无”或“阻止”。

袁子瑜
2023-03-14

这不是PayPal按钮现在支持的东西。官方政策是,只有点击按钮本身就应该打开结账窗口。

 类似资料:
  • 我使用paypal按钮管理器(我保存的按钮页面)创建了一些paypal按钮。到目前为止一切正常。 然而,我希望贝宝支付页面默认打开信用卡标签。(标签上写着“没有贝宝账户?”)。 从其他stackoverflow答案中,我可以看到我需要使用快速签出,在API调用中,我需要设置SOLUTIONTYPE=Sole和LANDINGPAGE=Billing。 但是,我如何在我的普通Paypal支付按钮(我使

  • 我正在实施贝宝结账。 我有以下javascript代码paypal.button.render({ 弹出(上图)出现时,我点击贝宝按钮,我可以填写信用卡细节等,如图像。它在沙箱所以我使用测试卡号。当我单击“立即付款”按钮时,它会显示“正在处理”,并一遍又一遍地返回到相同的表单。我现在可以在控制台或回调中看到信息 I.W希望看到我的警报 onauthorize:函数(数据,操作){

  • 问题内容: 似乎是一个简单的问题,但解决其他问题的方法似乎对我没有用。 试图通过单击按钮来触发AJAX请求,但似乎并未触发。 HTML示例 javascript 问题答案: 您拥有的代码在拨弄中工作得很好。初始页面加载后,按钮是否通过AJAX动态呈现? 用 代替

  • 我找到了其他相关的问题,但没有一个答案实际上解决了我的问题。这个按钮在IE上很好用,但在Chrome上不行。我尝试移除span元素,将按钮放在任何其他标记之外,但仍然触发了两次。这个temple扩展了一个'base.html'文件,代码位于'main'元素中。 HTML: jQuery:

  • 在我的网页上,我试图使用JavaScript按照手册实现PayPal结账:https://developer.paypal.com/docs/checkout/ 一切都与标准选项配合得很好。例如,这工作就好: 但当我试图更具体地了解订单细节时,它会给我一个错误: 这是我的代码: 有人知道问题出在哪里吗?PayPal留档不是很翔实...

  • 我已经建立了一个支付门户,允许承包商将其账户贷记余额转换为货币(兑现),并转入他们在贝宝上的账户。我想到的是将买家的电子邮件动态设置为承包商的Paypal电子邮件,并运行快速结账。然而,贝宝是否允许通过快速结账将资金从商业账户(卖方)转账至个人账户(买方)?我将非常感谢您在这方面的任何帮助。