jbennecker / cakephp-paypal
CakePHP的PayPal插件。
0.0.1
2021-05-10 07:24 UTC
Requires
- php: ^7.4
- cakephp/cakephp: ^3.0
- cakephp/plugin-installer: *
Requires (Dev)
- cakephp/migrations: ^2.0
README
安装和使用
安装插件
composer require jbennecker/cakephp-paypal
加载插件
$ bin/cake plugin load PayPal
运行插件迁移
$ bin/cake migrations migrate -p PayPal
将名为 app_paypal.php
的文件添加到您的配置文件夹,并输入以下信息
<?php
return [
'PayPal' => [
'currency' => 'EUR',
],
];
该插件期望您有一个名为 orders 的表以及相应的实体和表类。订单实体类必须实现 PayPal OrderInterface。
use PayPal\Model\Entity\OrderInterface;
class Order extends Entity implements OrderInterface
{}
并且 OrdersTable 必须实现 \PayPal\Model\TableOrdersTableInterface。
use PayPal\Model\TableOrdersTableInterface;
class OrdersTable extends Table implements OrdersTableInterface
{}
在您保存订单后,可以使用以下方式将用户重定向到 PayPal
return $this->redirect([
'plugin' => 'PayPal',
'controller' => 'Paypals',
'action' => 'pay',
$order->id,
]);
这将使您的客户重定向到 PayPal。客户成功付款后,将被重定向到
Router::url(['controller' => 'Orders', 'action' => 'confirm'], true);
PayPal 将向插件发送 IPN。如果 IPN 验证成功,插件将在您的 OrdersTable 类上调用回调方法。
PayPal 将向插件发送 IPN。如果 IPN 验证成功,插件将在您的 Table-Class 上调用 afterPayment-回调。
此插件使用 PayPal Payments Standard
有关使用沙箱测试账户的信息,请参阅 PayPal 沙箱测试指南。
public function afterPayment(Order $order): void
{
// Further process the order
}