guss77/kohana-paypal

Kohana模块,用于将PayPal支付选项添加到Kohana应用程序中

1.0.1 2016-08-05 16:17 UTC

This package is auto-updated.

Last update: 2024-09-08 22:24:56 UTC


README

Kohana 3.3的PayPal模块

安装

  1. 将代码克隆到Kohana安装的'modules'目录,或者运行composer require guss77/kohana-paypal
  2. 在您的'bootstrap.php'文件中添加一个引用以加载模块
  3. 将'config/paypal.php'复制到您的应用程序的'config'目录,并根据需求进行编辑
  4. 用您的真实PayPal客户端ID和密钥替换客户端ID和密钥
  5. 您还可以更改默认货币
  6. 将'classes/PayPal.php'复制到您的应用程序的'classes'目录,并实现抽象方法
  7. PayPal::approved()应处理记录完成交易的数据,并返回一个将用户重定向到的URL - 例如,一个"感谢购买"页面。下面有详细信息。
  8. PayPal::cancelled()应处理记录交易已取消的情况,并返回一个将用户重定向到的URL - 例如,一个"抱歉您取消了购买"页面。下面有详细信息。

使用方法

要创建一个交易,调用PayPal::payment($amount),其中$amount是交易金额。

请注意,虽然不是必须的,但您应将$amount作为字符串传递,否则如果金额不是整数(即它有分数部分),则可能受到IEEE 754浮点数舍入的影响。为了防止这种情况,模块将数值浮点金额截断到两位小数,但这种操作仍然可能受到舍入的影响。

PayPal::payment()将用户重定向到PayPal网站界面以批准支付。当用户完成批准时,将调用应用程序实现中的PayPal::approved()方法。approved()方法接收交易完成详情,可以进行任何必要的处理,然后返回一个将用户重定向到的URL。

如果用户取消了交易,PayPal模块将调用应用程序实现中的PayPal::cancelled方法,该方法也需要返回一个将用户重定向到的URL。

示例流程

  • 用户点击页面上的"A123"产品的"购买"按钮。
  • 应用程序调用PayPal::payment($priceForProduct, [ 'ProductId' => "A123" ]);
  • 用户被重定向到PayPal并批准了支付。
  • 用户被重定向回包含PayPal模块完成交易的网站。
  • PayPal模块调用应用程序的PayPal::approved([ 'ProductId' => "A123" ], "PAY-ABCD1234EDFGH5678", (object)[ "email" => "user@example.com", "first_name" => "first", "last_name" => "Last", "payer_id" => "ABCD1234EFGH", "shipping_address" => (object)[ ... ] ]);
  • approved()在数据库中注册交易完成并为客户下订单
  • approved()返回"感谢购买"页面的URL
  • PayPal模块将用户重定向到"感谢"页面。