guss77 / kohana-paypal
Kohana模块,用于将PayPal支付选项添加到Kohana应用程序中
1.0.1
2016-08-05 16:17 UTC
Requires
- php: >=5.4.0
This package is auto-updated.
Last update: 2024-09-08 22:24:56 UTC
README
Kohana 3.3的PayPal模块
安装
- 将代码克隆到Kohana安装的'modules'目录,或者运行
composer require guss77/kohana-paypal
- 在您的'bootstrap.php'文件中添加一个引用以加载模块
- 将'config/paypal.php'复制到您的应用程序的'config'目录,并根据需求进行编辑
- 用您的真实PayPal客户端ID和密钥替换客户端ID和密钥
- 您还可以更改默认货币
- 将'classes/PayPal.php'复制到您的应用程序的'classes'目录,并实现抽象方法
PayPal::approved()
应处理记录完成交易的数据,并返回一个将用户重定向到的URL - 例如,一个"感谢购买"页面。下面有详细信息。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模块将用户重定向到"感谢"页面。