iqnection-modules / paypalpayment
SilverStripe PayPal 支付
2.0.0.1
2018-08-17 14:16 UTC
Requires
- iqnection-modules/payment: ^2.0
- silverstripe/framework: ^4.0
This package is auto-updated.
Last update: 2024-08-29 03:57:34 UTC
README
#IQnection PayPal 支付
extends IQnection\Payment\Payment
当使用 PayPal 支付时,您必须在模型页面文件中实现一个页面和控制器
在您的页面控制器文件中声明扩展
class MyPayPalPage extends Page
{
private static $extensions = [
IQnection\PayPalPayment\PayPalPage\PageExtension::class
];
}
将处理程序作为扩展声明
class MyPayPalPageController extends PageController
{
private static $extensions = [
IQnection\PayPalPayment\Controller\PaymentHandler::class
];
}
处理程序方法现在成为您页面控制器的一部分
在您的模板中创建 PayPal 表单并指定您的 IPN,添加一些 JavaScript 以自动提交表单
当 PayPal 发送 IPN 响应时,它将被发送到提交支付的同页面。您可以在页面控制器中实现 OnSuccessfulPayment 方法来处理成功支付,例如
public function OnSuccessfulPayment($Payment,$data)
{
if ( (isset($data['item_number'])) && ($submission = MyPageSubmission()->byID($data['item_number'])) )
{
$submission->PaymentID = $Payment->ID;
$submission->write();
}
}
从 PayPal 成功支付后,用户将被重定向回调用操作 /thanks 的您的页面。