我以前从未使用过 Google Checkout,只使用过 PayPal。
您可能正在寻找的是 PayPal Payments Pro SDK。
这让您的服务器成为支付交易的代言人(而不是像普通 Checkout 快递那样的 PayPal 网站)。
您需要实现两阶段提交机制。
我可以推荐两种不同的方法:
a) 您可以在您的服务器上启动购买过程,并将其留在数据库中的中间“未提交”状态。您从您的服务器调用 PayPal,以便 PP 可以处理您的呼叫,当您收到 PP 的响应时,如果响应意味着付款已被接受,则您提交购买。这种方法的问题在于,您的应用程序需要在此时决定完成或拒绝交易,而这不是现实世界购买交易的行为方式。PayPal 有时可能会响应与简单的 OK/Error 不同的响应,付款可能处于待处理状态,或者可能会出现警告。
b) 更可靠的是让 PayPal 通知您付款状态。
您可以进行与之前描述的相同的流程,但需要进行更改。一旦 PayPal 处理了付款并给您一个肯定的答复,您将交易 ID 存储在您的数据库中,但不提交任何内容。只告诉用户交易已经完成。
作为调用 PayPal 服务器的一部分,您可以使用一个参数,该参数称为 IPN 侦听器 URL。
IPN 表示即时付款通知,是对您的服务器的回调,由 PayPal 发起,您的应用程序将在其中获得有关您的付款状态的即时信息。
这非常重要,因为待处理的交易可能会被接受或拒绝。即使是已接受的交易也可能会被您或您的购买者向 PayPal 提出的索赔回滚。
如果您需要有关如何实施 PP IPN 侦听器的更多信息,请告诉我。