Example #1
0
 public function do_refund(array $transaction, array $receivers = NULL, $chained = FALSE)
 {
     if (empty($transaction['payKey']) and empty($transaction['trackingId'])) {
         throw new Exception('You must provide either "payKey" or "trackingId" to Refund API operation.');
     }
     $data = array('currencyCode' => $this->config('currency'));
     if (isset($transaction['payKey'])) {
         $data['payKey'] = $transaction['payKey'];
     } elseif (isset($transaction['trackingId'])) {
         $data['trackingId'] = $transaction['trackingId'];
     }
     if (isset($transaction['transactionId'])) {
         $data['transactionId'] = $transaction['transactionId'];
     }
     if ($receivers) {
         $data['receiverList'] = Util::receiver_list($receivers, $chained);
         $receiver_list = Util::array_to_nvp($data, 'receiverList', 'receiver');
         unset($data['receiverList']);
         $data = array_merge_recursive($data, $receiver_list);
     }
     return $this->refund($data);
 }
Example #2
0
 public function do_payment()
 {
     $fields = $this->fields();
     if (!empty($fields['receiverList'])) {
         $receiver_list = Util::array_to_nvp($fields, 'receiverList', 'receiver');
         unset($fields['receiverList']);
         $fields = array_merge_recursive($fields, $receiver_list);
     }
     return $this->pay($fields);
 }