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); }
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); }