使用paypal javascript按钮时按钮数据不显示

时间:2013-05-15 15:14:56

标签: paypal paypal-buttons

我正在测试paypal javascript按钮集成,并且按钮数据无法显示。这是我的代码:

var data = {};
data['data-name'] = "donation";
data['data-amount'] = .99;
data['data-env'] = "sandbox";

var button = PAYPAL.apps.ButtonFactory.create("testuser@gmail.com", data, "donate");
$('.paypalbutton').append(button);

捐赠按钮正确显示,但是当我点击它时,paypal开始屏幕只显示电子邮件,而不是金额或捐赠名称。

感谢您的帮助

2 个答案:

答案 0 :(得分:1)

事实证明,按钮工厂创建函数所期望的js对象应该被格式化为不同的(它期望每个参数都是它自己的具有value属性的对象);

另外,你显然不应该在按钮参数名称前加上'data-',尽管文档似乎表明了这一点。

遗憾的是,这在任何地方都没有记录,我不得不看看paypal-button.js文件来解决这个问题。

工作代码如下所示:

var DataObject = {}; 

var Name = { "value" : "donation" };
var Amount = { "value" : "1.0" };
var Env = { "value" : "sandbox"};

DataObject["name"] = Name; 
DataObject["amount"] = Amount; 
DataObject["env"] = Env; 

var button = PAYPAL.apps.ButtonFactory.create("testuser@gmail.com", DataObject, "donate");

答案 1 :(得分:0)

我将对象格式化为:

var raw = { 
        environment: {"value" : "sandbox" },
        name: {"value" : "MindDecoder Credit" },
        amount: {"value" : val },
        tax: {"value" : vat },
        currency: {"value" : "EUR" },
        size: {"value" : "large" },
        lc: {"value" : "de_DE"}
        };

它接缝更干净了。非常感谢你的回答@ilhashev,它对我有所帮助!