gpt4 book ai didi

Paypal 数字商品使用 startFlow 方法获取动态项目列表?

转载 作者:太空宇宙 更新时间:2023-11-03 15:47:45 24 4
gpt4 key购买 nike

我仍在尝试为同一只猫剥皮:Controlling order of javascript execution PayPal Objects

简而言之,我有一个可供购买的数字歌曲数据库。我想要一个不断变化的列表,比如 50 首歌曲供购买。

Paypal 的文档在我看来非常糟糕。每个人都使用的示例似乎需要对要销售的元素(按钮)的 ID 进行硬编码,因为您需要在页面页脚中使用脚本来实际“触发”对 PayPal 的调用

<script type="text/javascript">
var embeddedPPFlow1 = new PAYPAL.apps.DGFlow( {trigger : 'buysong_1'});
</script>

...因此,如果您有 50 个“购买”按钮,则需要在加载时在页脚中声明 50 个 PAYPAL.apps.DGFlow 对象,当然,它们必须具有正确的 ID。这使得从数据库中提取不同的项目有点棘手(更不用说制作非常重的页面了。)

PayPal 文档表明应该能够通过使用单个对象但使用 URL 和 startFlow 方法而不是触发器来解决这个问题,但是他们的网站上没有示例,我在互联网上也找不到工作示例.

embeddedPPFlow = new PAYPAL.apps.DGFlow();
// url = (paypal url?)
this.embeddedPPFlow.startFlow(url);

但我不明白 URL 应该是什么...它是从 PayPal 获得的 token 吗?如果是这样,如何在调用 PayPal NVP 之前获得 token ?

简而言之:有人有这方面的工作示例,或者知道如何将 startFlow 与动态分配的购买按钮一起使用吗?我已尝试在 X 开发者论坛上发帖,但没有收到任何回复。

最佳答案

我在搜索相同内容时偶然发现了您的问题,并找到了对我有用的答案,希望这对您有所帮助....

url 是您要在灯箱内调用的位置。它因您使用的 API(和 SDK)而异。就我而言,我使用的是 Merchant API SDK。 https://github.com/paypal/merchant-sdk-php

SDK里面有一个文件DGsetExpressCheckout.php,文件最下面是url:

https://www.sandbox.paypal.com/incontext?token=$token

我不太确定“incontext”部分是什么意思,但是当我使用该链接(以及末尾的 token )时,PayPal 发现了问题并将其定向到:

https://www.sandbox.paypal.com/webapps/checkout/webflow/sparta/expresscheckoutvalidatedataflow?execution=e1s3

允许登录和其余的支付流程。

我的 JavaScript 看起来像这样(使用 jQuery):

//setup the PayPal digital goods flow
var dg = new PAYPAL.apps.DGFlow({
//don't trigger the flow with a button (we're going to submit manually)
trigger: null
}),
//post object for payment
post = {
amount: '1.00',
currencyId: 'USD'
//.... whatever else you need to pass to $_POST ....
};
//process checkout
$.post("/url/to/your/sdk/method", post, function(token) {
//if successful...
if ( token ) {
//direct the dialog box for our digital goods pay flow to the correct place
var flowUrl = 'https://www.sandbox.paypal.com/incontext?token='+token;
dg.startFlow( flowUrl );
}
});

您可能需要根据您的情况调整 SDK。您还必须确保在 DGdoExpressCheckout.php 内部执行操作,它应该设置为在 payflow 之后运行的 returnUrl,此时您运行:

dg.closeFlow(); 

关闭对话框和覆盖层。

关于 Paypal 数字商品使用 startFlow 方法获取动态项目列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13866610/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com