платежный шлюз eWay повторяющийся платеж


Как проверить текущую транзакцию, совершенную eway, и как обновить дату и время истечения срока действия, если платеж прошел успешно.

Есть ли функция для проверки последней транзакции, совершенной eway.

 $requestbody = array(
            'RebillCustomerID' => $rebillCustomerID,
            'RebillID' => $rebillID
        );
        $client = $this->createObjet();
        return $result = $client->QueryTransactions($requestbody);

Я использую это, но при возврате всех деталей транзакции . Пожалуйста, помогите мне, если есть какой-либо другой вариант сделать это.

1 2

1 ответ:

Нет API, чтобы возвращать только самую последнюю транзакцию с повторением eWAY. Вы можете найти текущую транзакцию, посмотрев на самое последнее время транзакции для любой транзакции, которая не является "ожидающей" или "будущей".

Быстрый пример этого выглядит следующим образом:

$requestbody = array(
    'RebillCustomerID' => $rebillCustomerID,
    'RebillID' => $rebillID
);

$result = $client->QueryTransactions($requestbody);

$current = mostRecent($result);

function mostRecent ($result){
    $return = '';
    foreach ($result->QueryTransactionsResult->rebillTransaction as $r) {
        $mostRecent = 0;
        if ($r->Status != 'Pending' && $r->Status != 'Future') {
            $curDate = strtotime($r->TransactionDate);
            if ($curDate > $mostRecent) {
                $mostRecent = $curDate;
                $return = $r;
            }
        }
    }
    return $return;
}