iqnection-modules/paypalpayment

SilverStripe PayPal 支付

2.0.0.1 2018-08-17 14:16 UTC

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 的您的页面。