- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试构建一个非常简单的支持 paypal 的购物车,以便用户可以购买多件商品。我希望 Paypal 处理所有付款细节。我什至不想要订单确认。我将在 paypal 上手动检查订单确认。
起初我想使用“网站支付标准”,因为创建一个将发布到 paypal 并让 paypal 从那里处理的表单似乎很容易。但是不,这不起作用,因为“网站支付标准”按钮/表单不支持提交多个项目。我在我的表单中尝试了各种键/值,但从未奏效。
然后我使用找到的说明尝试了 Express Checkout here .它在很大程度上起作用,但据我了解,在发送 SetExpressCheckout 之后,您必须监听来自 paypal 的请求并执行 DoExpressCheckoutPayment 以完成交易。 SO reference .
我觉得这有点麻烦,因为如果我的服务器无法接收来自 paypal 的请求并且我从未发送过 DoExpressCheckoutPayment 怎么办?因此,客户认为他们已完成提交订单,但从未收到订单。
有谁知道跳过这个“确认”步骤的方法吗?我觉得没必要,也不知道为什么 paypal 需要它。
最佳答案
那是因为 Express Checkout 和 Website Payments Standard 是根本不同的产品。
要使用 Express Checkout,您需要调用 SetExpressCheckout API。在 API 调用中,您指定产品、金额和 RETURNURL 的详细信息。
将此数据发布到 PayPal 的 API 端点后,您会收到一个 token 作为返回。然后您将重定向买家,并将 token 附加到以下 URL:https://www.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=EC-XXXXXXX
一旦买家同意您的购买,他将被重定向回您在 RETURNURL 中指定的 URL。
您现在应该显示订单确认,并调用 GetExpressCheckoutDetails API**。
调用 GetExpressCheckoutDetails 时,提供 token 。在 GetExpressCheckoutDetails API 响应中,您会找到一个 PayerID。
现在您可以调用 DoExpressCheckoutPayment 并向买家收费。请记住在调用 DoExpressCheckoutPayment 时同时包含 token 和 payerID。
注意:如果您想通过立即调用 GetExpressCheckoutDetails 和 DoExpressCheckoutPayment 立即向买家收费,请将买家重定向到 https://www.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=EC-XXXXXXX&useraction=commit .useraction=commit
会将 PayPal“查看您的付款”页面上的“继续”按钮更改为“立即付款”按钮。
--
Express Checkout 和 Website Payments Standard 之间存在如此显着差异的原因在于,Website Payments Standard 旨在成为一种直接工作解决方案,由 PayPal 处理整个交易流程。 Express Checkout 是一种更灵活的解决方案,允许您将其与网站/购物车的现有结账流程深度集成。
针对您的用例;查看使用 PayPal“购物车上传”按钮。参见示例 https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_html_cart_upload
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_cart">
<input type="hidden" name="upload" value="1">
<input type="hidden" name="business" value="seller@designerfotos.com">
<input type="hidden" name="item_name_1" value="Item Name 1">
<input type="hidden" name="amount_1" value="1.00">
<input type="hidden" name="item_name_2" value="Item Name 2">
<input type="hidden" name="amount_2" value="2.00">
<input type="submit" value="PayPal">
</form>
但请注意,默认情况下这是不安全的,因为您要收取的金额将在 HTML 中清晰可见。
** PayerID 也附加在您的 RETURNURL 的 GET 中。因此,您可以根据需要跳过调用 GetExpressCheckoutDetails。
关于paypal - 为什么 Paypal 需要 DoExpressCheckoutPayment?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7984864/
假设我正在使用 DoExpressCheckoutPayment 完成付款,并且在 PAYMENTINFO_0_PAYMENTSTATUS 中收到了 Completed 以外的状态(例如 - Pend
当我访问 Doexpresscheckoutpayment 服务时出现以下错误。 错误:支付未被用户授权错误代码:10485 请帮助我,我无法弄清楚出了什么问题。 以下是我遵循的步骤: 1) setE
我们在一个有故障的大型网站上使用 PayPal,集成向导中的所有代码助手的集成都很顺利。现在我们在上线的第一天就处理了一些交易,但一小部分 (5%) 基本上是由 PayPal 处理的交易,但我们的系统
我目前正在处理一些 PayPal 代码,我遇到了一个问题,即 DoExpressCheckoutPayment 有时似乎没有返回 PAYMENTINFO_0_PAYMENTSTATUS 的值。 目前我
在我们执行 DoExpressCheckoutPayment 之后 - 导致支付状态为 Completed 或失败并出现其他状态 - 是否有任何从 PayPal 发送的 IPN? 最佳答案 是的,DE
TL;DR 我从哪里获取 PAYERID 以传递给 DoExpressCheckoutPayment 调用? 我正在尝试为 ExpressCheckout 的整个授权和捕获过程创建一个自动化测试套件(
我是 PayPal API 的新手。我在调用 DoExpressCheckoutPayment 时遇到错误。错误是 11623 “此帐户未被批准用于授权服务。”。沙盒帐户无法使用并需要一些额外的非显而
我想在不更改代码的情况下测试 DoExpressCheckoutPayment(否则我并不是在真正测试正确的代码)。看来我需要将 token 设置为某个错误代码,但这意味着更改代码,因此在我看来这不是
如果客户在通过 Paypal.com 结帐页面付款时使用信用卡而不是 Paypal 帐户,GetExpressCheckoutDetails 和 DoExpressCheckoutPayment 是否
使用经典的 PayPal API 时,未调用 DoExpressCheckoutPayment 的快速结账交易会怎样? 例如,如果用户通过成功调用 SetExpressCheckout 被转到 Pay
在实际环境中,我们看到来自 DoExpressCheckoutPayment 的响应,其中 PaymentStatus 为 None/Null。响应将 Ack 设置为 Success,因此这通常意味着
这不是一个编码问题,但我想了解发生了什么。这是我第一次不得不集成 PayPal,所以我使用了沙盒环境和带有硬编码值的简单示例来开始。 对于 SetExpressCheckoutRequest,假定支付
我无法从 doexpresscheckoutpayment 的回复中获取交易 ID 和其他信息,我花了几个晚上阅读,但我要么不明白发生了什么,要么我在某些地方出错了 这里是一些代码 funct
我在通过 DoExpressCheckoutPayment 方法获取 Paypal 付款时遇到问题。 Paypal 失败并仅返回一个 10004 错误,上面写着 Transaction refused
长话短说,我相信我已经正确地实现了流程,但在最终的 DoExpressCheckoutPayment 上我得到: ACK => SuccessWithWarning L_ERRORCODE0 =>
我开始使用 PayPal,我的第一项工作是在我们的网站上调试它。 实际上,当我们到达订单末尾时,它工作正常,但我们在日志中得到一个堆栈:“无效 token (#10410:无效 token )”。当调
当我将 PayPal 与我的沙盒测试帐户集成时,我通过 DoExpressCheckoutPayment API 调用或 PayPal 的新 /execute REST 调用创建的所有交易都处于待处理
我正在尝试构建一个非常简单的支持 paypal 的购物车,以便用户可以购买多件商品。我希望 Paypal 处理所有付款细节。我什至不想要订单确认。我将在 paypal 上手动检查订单确认。 起初我想使
我们使用 DoExpressCheckoutPayment API 函数进行支付授权。 DoExpressCheckoutPayment 响应具有 ReceiptID 字段,如果付款是从 Paypal
我正在尝试让最简单的 Express Checkout 版本在 PHP 中运行。 我的购物篮有一个按钮,可将用户发送到结帐向导提供的名为 expresscheckout.php 的脚本。 在返回 UR
我是一名优秀的程序员,十分优秀!