public function encodeInvoice(Invoice $invoice) { $data = ['id' => $invoice->getId(), 'number' => $invoice->getNumber(), 'name' => $invoice->getName(), 'created' => $invoice->getCreated(), 'delivered' => $invoice->getDelivered(), 'due' => $invoice->getDue(), 'status' => $invoice->getStatus(), 'variable_symbol' => $invoice->getVariableSymbol(), 'constant_symbol' => $invoice->getConstantSymbol(), 'description' => $invoice->getDescription(), 'items' => $this->encodeItems($invoice->getItems()), 'price' => $invoice->getPrice(), 'price_total' => $invoice->getPriceTotal(), 'currency' => $invoice->getCurrency()]; if ($invoice->getClient()) { $data['client'] = $this->encodeClient($invoice->getClient()); } if ($invoice->getShippingAddress()) { $data['shipping_address'] = $this->encodeAddress($invoice->getShippingAddress()); } if ($invoice->getDiscount() && $invoice->getDiscount()->getType() != 'none') { $data['discount'] = ['type' => $invoice->getDiscount()->getType(), 'value' => $invoice->getDiscount()->getValue()]; } return json_encode(['invoice' => $data]); }
public function _process(Invoice $invoice, Am_Request $request, Am_Paysystem_Result $result) { /* Payment Method - Identity * Credit Payment Visa & Mastercard (default) - index.php Mobile Money - mobilemoney.php Ezeelink - ezeelink.php * Debit Payment Maybank2u Fund Transfer - maybank2u.php MEPS FPX - fpx.php CIMB Clicks - cimb.php RHB Online - rhb.php Hong Leong Bank Online - hlb.php Mepscash Online - mepscash.php Webcash - webcash.php */ $Payment_Method = ''; $url = sprintf($this->url, $this->getConfig('merchant_id'), $Payment_Method); $a = new Am_Paysystem_Action_Redirect($url); $a->amount = $invoice->first_total; $a->orderid = $invoice->public_id; $a->bill_name = utf8_encode($invoice->getName()); //UTF-8 encoding is recommended for Chinese contents $a->bill_email = $invoice->getEmail(); $a->bill_mobile = $invoice->getPhone(); $a->cur = $invoice->getCurrency(); $a->bill_desc = utf8_encode($invoice->getLineDescription()); //UTF-8 encoding is recommended for Chinese contents $a->returnurl = $this->getPluginUrl('thanks'); $a->vcode = md5($invoice->first_total . $this->getConfig('merchant_id') . $invoice->public_id . $this->getConfig('verify_key')); $a->filterEmpty(); $result->setAction($a); }
/** * @param float|int $value * @param Invoice $invoice * @return string */ public function formatCurrency($value, Invoice $invoice) { return is_null($value) ? null : sprintf($this->currencyFormat, $invoice->getCurrency(), $this->formatNumber($value, $invoice->getPrecision())); }
public function testCurrency() { $this->assertEquals('Currency', $this->invoice->getCurrency()); $this->invoice->setCurrency('Currency2'); $this->assertEquals('Currency2', $this->invoice->getCurrency()); }