twohill/silverstripe-ewaypayments

Silverstripe 模块,用于通过eway处理支付

v0.1 2019-02-25 19:09 UTC

This package is auto-updated.

Last update: 2024-08-26 07:41:04 UTC


README

Silverstripe 模块,用于通过eway处理支付

在控制器中的示例用法。

待办事项:编写一些实际的文档。

<?php
//..
public function doConfirm($data, $form) {
	$this->redirect($this->Link('pay-order/submit'));
}

public function pay_order($request) {
	$member = $this->currentMember();
	$invoice = $member->UnpaidInvoice;
	
	$payment = $invoice->findOrMakePayment($member);
	
	return new EWayPaymentController($this, $request, $payment);
}

public function order_paid($request) {
	$invoice = $this->currentMember()->UnpaidInvoice;
	if ($invoice) {
		if ($invoice->PaymentID && $invoice->Payment()->Status == "Completed") {
			//@TODO some sort of payment processing
			$invoice->markPaid();

			return $this->redirect($this->Link('thanks'));
		}	
	}
	$this->redirect($this->Link());
	
}

public function order_cancelled($request) {
	if ($invoice = $this->currentMember()->UnpaidInvoice) {
		return $this->customise(array(
			"Title" => "Payment Unsuccessfull",
			"Content" => $this->UnsuccessfulPaymentContent,
			"Invoice" => $invoice,
			"Form" => $this->ConfirmationAndPaymentForm()
		));
	} else {
		$this->redirect($this->Link());
	}
}