jbennecker / cakephp-paypal

CakePHP的PayPal插件。

安装: 157

依赖项: 0

建议者: 0

安全: 0

星标: 0

关注者: 0

分支: 0

开放性问题: 0

类型:cakephp-plugin

0.0.1 2021-05-10 07:24 UTC

This package is auto-updated.

Last update: 2024-09-22 23:43:59 UTC


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
}