问题标签 [paypal-rest-sdk]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3898 浏览

jakarta-ee - PayPal REST API 未执行付款。无法将付款对象的状态从“已创建”更改为“已批准”或“已完成”

我正在使用 servlet 生成 HTML 页面,这些页面旨在使用新的 REST api 执行 PayPal 付款。我还无法生成状态为已批准或已创建的付款。我已经尝试了来自 github 页面的 PaymentWithPayPalServlet.java 示例的变体,并且我在下面包含了最接近的变体。我最不清楚哪个对象应该收到“已批准”或“已完成”的更新状态以及何时。

虽然我在下面包含了完整的代码,但这里是我的想法的快速分解。也许有人可以纠正我哪里出错了......

我创建了一个设置了所有适当属性/属性的 Payment 对象。

现在,createdPayment 对象的状态为“已创建”。在我的代码结束时,我将用户重定向到 payPal 页面,我假设 payPal 会在执行前批准付款。请注意,这是与示例文件的偏差,但我不明白为什么这不起作用。

由于 payPal 无法通过 HTTP 协议更改我的本地变量 createdPayment 的状态,我希望 payPal 页面重定向回我的 returnURL 页面,并带有一个 paymentID 和可能附加到 URL 的授权令牌。使用这两件事,我希望通过某种类型的静态函数调用从 payPal 服务器检索支付对象,例如:

但是,该 URL 没有附加任何 paymentID。相反,有一个 payerID。此外,我从贝宝服务器检索状态为“已批准”或“已完成”的支付对象的所有尝试都失败了。基本上,我尝试了以下变化无济于事:

如果有人能告诉我我的推理出了什么问题,那绝对是摇滚。谢谢!这是我的主 servlet 页面的完整代码。请注意,returnURL 会将您带回到同一页面,在该页面中它会找到包含在来自 payPal 的 HTTP 请求中的 payerID,并正确输入主 if-else 语句的“if”块,这会生成一些完全无用的基本输出。另请注意,我已将一些基本函数调用(例如检索访问令牌和上下文)外包给了其他类,例如 AccessToken 类。

}


为了回应我下面的第一位评论者 Yozha Karlov,我添加了以下内容:

好吧,我想我对此有几个反应。首先,谢谢。其次,我想也许我对我的问题不够清楚。我对如何检索上面名为“createdPayment”的旧支付对象并不感到困惑。在上面复制的完整代码中,我使用了与您引用的完全相同的 guid 代码。这样做的一个问题是,它除了将 createdPayment 对象的 ID 复制到一个新的空白 Payment 对象中之外,什么都不做。新对象的状态仍然是空白的,它的所有其他属性也是如此。它是一个带有 ID 的空白对象,仅此而已。几乎一文不值,所以我要么遗漏了一些东西,要么示例 servlet 完全错误。

事实上,我最初的方法是创建一个带有静态映射的静态类,以将 sessionID 映射到 HttpSession 对象。我将为用户的浏览器会话生成一个 sessionID,并将该 sessID 附加到 payment.create() 方法的重定向 URL 中的 cancelURL 和 returnURL。然后,我会确保将相关的 Payment 对象附加到用户的 HttpSession 对象中,以便以后在 returnURL servlet 中检索。

然后,当 payPal 页面将我返回到以前的 returnURL 页面时,我会调用以下相关代码片段:

并且已检索到具有所有相同属性和所有内容的旧支付对象。这似乎比仅仅将旧的付款 ID 复制到一个空白的 Payment 对象中要有用得多。但是,旧的“createdPayment”仍处于“已创建”状态,而不是“已批准”或“已完成”。我不知道如何从创建上面概述的对象转变为执行相同的 Payment 对象。事实上,我什至不明白是否应该使用相同的支付对象创建和执行使用 method='paypal' 的支付。正如我在原始帖子中所描述的那样,对我来说应该如此是没有意义的。我创建了一个支付对象,payPal 发回一个approval_URL 等,让我将用户重定向到批准。这会将用户带出我的网络应用程序并进入贝宝服务器。由于 payPal 无法修改我的本地“createdPayment”变量,因此 payPal 无法更改其状态。此外,似乎我需要一个状态为“已批准”的 Payment 对象才能执行付款。因此,我得出的结论是,payPal 必须向我发回一个新的 Payment 对象,其中包含许多与我的“createdPayment”对象相同的信息,但更新状态为已批准,可能还有一个特殊的令牌/密码指示已批准状态,以防止某人只需将一堆付款更改为已批准状态,这很容易做到。我看到我得到了一个令牌,正如预期的那样,但我没有得到我预期的 paymentID。我正在获得一个 payerID。有没有办法将返回的令牌和 payerID 转换为状态为“已批准”的新付款对象,或者我只是完全遗漏了什么?PayPal 无法更改其状态。此外,似乎我需要一个状态为“已批准”的 Payment 对象才能执行付款。因此,我得出的结论是,payPal 必须向我发回一个新的 Payment 对象,其中包含许多与我的“createdPayment”对象相同的信息,但更新状态为已批准,可能还有一个特殊的令牌/密码指示已批准状态,以防止某人只需将一堆付款更改为已批准状态,这很容易做到。我看到我得到了一个令牌,正如预期的那样,但我没有得到我预期的 paymentID。我正在获得一个 payerID。有没有办法将返回的令牌和 payerID 转换为状态为“已批准”的新付款对象,或者我只是完全遗漏了什么?PayPal 无法更改其状态。此外,似乎我需要一个状态为“已批准”的 Payment 对象才能执行付款。因此,我得出的结论是,payPal 必须向我发回一个新的 Payment 对象,其中包含许多与我的“createdPayment”对象相同的信息,但更新状态为已批准,可能还有一个特殊的令牌/密码指示已批准状态,以防止某人只需将一堆付款更改为已批准状态,这很容易做到。我看到我得到了一个令牌,正如预期的那样,但我没有得到我预期的 paymentID。我正在获得一个 payerID。有没有办法将返回的令牌和 payerID 转换为状态为“已批准”的新付款对象,或者我只是完全遗漏了什么?似乎我需要一个状态为“已批准”的 Payment 对象才能执行付款。因此,我得出的结论是,payPal 必须向我发回一个新的 Payment 对象,其中包含许多与我的“createdPayment”对象相同的信息,但更新状态为已批准,可能还有一个特殊的令牌/密码指示已批准状态,以防止某人只需将一堆付款更改为已批准状态,这很容易做到。我看到我得到了一个令牌,正如预期的那样,但我没有得到我预期的 paymentID。我正在获得一个 payerID。有没有办法将返回的令牌和 payerID 转换为状态为“已批准”的新付款对象,或者我只是完全遗漏了什么?似乎我需要一个状态为“已批准”的 Payment 对象才能执行付款。因此,我得出的结论是,payPal 必须向我发回一个新的 Payment 对象,其中包含许多与我的“createdPayment”对象相同的信息,但更新状态为已批准,可能还有一个特殊的令牌/密码指示已批准状态,以防止某人只需将一堆付款更改为已批准状态,这很容易做到。我看到我得到了一个令牌,正如预期的那样,但我没有得到我预期的 paymentID。我正在获得一个 payerID。有没有办法将返回的令牌和 payerID 转换为状态为“已批准”的新付款对象,或者我只是完全遗漏了什么?我得出结论,payPal 必须向我发回一个新的 Payment 对象,其中包含许多与我的“createdPayment”对象相同的信息,但更新状态为已批准,可能还有一个特殊的令牌/密码指示已批准状态,以防止有人只是黑客攻击一堆付款进入批准状态,这很容易做到。我看到我得到了一个令牌,正如预期的那样,但我没有得到我预期的 paymentID。我正在获得一个 payerID。有没有办法将返回的令牌和 payerID 转换为状态为“已批准”的新付款对象,或者我只是完全遗漏了什么?我得出结论,payPal 必须向我发回一个新的 Payment 对象,其中包含许多与我的“createdPayment”对象相同的信息,但更新状态为已批准,可能还有一个特殊的令牌/密码指示已批准状态,以防止有人只是黑客攻击一堆付款进入批准状态,这很容易做到。我看到我得到了一个令牌,正如预期的那样,但我没有得到我预期的 paymentID。我正在获得一个 payerID。有没有办法将返回的令牌和 payerID 转换为状态为“已批准”的新付款对象,或者我只是完全遗漏了什么?但是有一个更新的已批准状态,也许还有一个特殊的令牌/密码指示已批准状态,以防止有人将一堆付款入侵到已批准状态,这很容易做到。我看到我得到了一个令牌,正如预期的那样,但我没有得到我预期的 paymentID。我正在获得一个 payerID。有没有办法将返回的令牌和 payerID 转换为状态为“已批准”的新付款对象,或者我只是完全遗漏了什么?但是有一个更新的已批准状态,也许还有一个特殊的令牌/密码指示已批准状态,以防止有人将一堆付款入侵到已批准状态,这很容易做到。我看到我得到了一个令牌,正如预期的那样,但我没有得到我预期的 paymentID。我正在获得一个 payerID。有没有办法将返回的令牌和 payerID 转换为状态为“已批准”的新付款对象,或者我只是完全遗漏了什么?

0 投票
3 回答
14621 浏览

paypal - 如何为 OAuthTokenCredential paypal rest api 创建 clientId 和 clientSecret

我正在使用 paypal rest api,但我不知道如何创建 client_id 和 clientSecret。如果您有任何想法,请告诉我...

谢谢

0 投票
1 回答
2062 浏览

paypal - 使用 node.js 和 Paypal REST API 从我的帐户汇款

我需要从公司的 Paypal 账户汇款到另一个 Paypal 账户。是否可以使用 Paypal 的 REST API(如果可以,如何)?还是我必须使用自适应支付 API(没有官方的 Paypal SDK)?

0 投票
4 回答
8246 浏览

soap - PayPal 文档(REST、经典:SOAP 和 NVP) 选择什么?

我需要使用 PayPal API 开发支付解决方案。实际上我开始了文档阶段(在http://developers.paypal.com上)

我发现REST API是可以理解的,但我仍然不知道如何使用 SpringMVC 实现它们,所以我只是使用 cURL 来测试它们。(对此有任何帮助吗?)

另一方面,Classic API 令人困惑。(例如,我们可以使用自适应帐户做什么以及快速结账和自适应支付之间的区别等。)。

另一件事是,我们需要在创建隐藏表单 (html) 或使用 API 之间做出选择。(我需要解释)

文档很长,我真的很困惑,我不知道该选择什么(显然REST API更适合简单支付,但我真的想了解更多关于SOAPNVP的信息..)

我是新手,有人可以成为志愿者并帮助我吗?

谢谢 !

0 投票
1 回答
429 浏览

paypal - 响应为 CREDIT_CARD_REFUSED 的 PayPalRESTException。如何获得此拒绝的原因

我试图在实时环境中使用已保存的信用卡通过 PayPal REST API 进行交易。我收到了响应为 CREDIT_CARD_REFUSED 的 PayPalRESTException。

这是错误消息:

现在我想知道为什么卡被拒绝以及如何获取任何信息。从这个 debug_id。

有没有办法在 PayPal 商家帐户中获取所有这些失败的交易详细信息?

注意:该卡之前已授权并保存在贝宝中

0 投票
1 回答
957 浏览

paypal - 确认收货地址

我已经按照此处的说明集成了移动 PayPal 支付:https ://devblog.paypal.com/phonegap-android-sdk-plugin/

我的问题与编程无关,因为它运行良好。我的后台有人告诉我验证我们的付款是否已发送到 PayPal API 提供的确认送货地址。现在,我所做的是通过登录您的帐户或简单地通过插入您的信用卡号码然后验证这些付款来允许 PayPal 付款(按照本节:https ://developer.paypal.com/docs/integration/mobile/verify-移动支付/)。

我认为我的同事指的是我们没有使用的 Mobile Express Checkout。(我读到使用这个你必须验证运输信息)

你能证实这一点吗?

0 投票
1 回答
275 浏览

paypal - PayPal REST API 送货地址 Codeigniter

如何TOKEN使用 paypal REST api 获取送货地址?我发现很有用,但我在任何地方都看不到使用示例。

0 投票
3 回答
1258 浏览

php - 贝宝休息api

我已将 PayPal REST API 与 PayPal SDK 集成。当我们使用沙盒凭据时,它在沙盒上运行良好,但是当使用实时 PayPal 凭据时,PayPal 上的保存卡功能(使用 REST API)运行良好,但是当我们尝试使用 PayPal 的卡 ID(由 PayPal 生成)进行支付时像 CARD-8K0630766A878805HYRGHBCD),我们面临着这样的错误;

我们做了很多研发,但没有解决这个问题。

请让我知道我们缺少什么或我们的错误,以便尽快解决问题。

0 投票
2 回答
1930 浏览

paypal - Paypal rest sdk- internal service error has occurred 错误

我正在尝试使用 paypal rest sdk 执行交易。

我正在尝试以与 sdk 文档相同的方式:。

OAuthTokenCredential tokenCredential = new OAuthTokenCredential("", "");

但我得到了例外

任何人都可以告诉我为什么我会收到这个错误?

谢谢,

0 投票
1 回答
79 浏览

paypal - 授权我的应用创建 Paypal 自适应付款退款

来自贝宝文档

收款人可以通过登录 PayPal,在个人资料页面上选择 API 访问权限,然后单击授予 API 权限的链接并在单击配置自定义 API 授权后选择退款来授予您退款的第三方访问权限。

希望最后死去,有办法绕过这一步,也许混合 REST API?