Ejemplo n.º 1
0
 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]);
 }
Ejemplo n.º 2
0
 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);
 }
Ejemplo n.º 3
0
 /**
  * @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()));
 }
Ejemplo n.º 4
0
 public function testCurrency()
 {
     $this->assertEquals('Currency', $this->invoice->getCurrency());
     $this->invoice->setCurrency('Currency2');
     $this->assertEquals('Currency2', $this->invoice->getCurrency());
 }