Можно ли при использовании Omnipay получить обработанную сумму из ответа независимым от шлюза способом?
Например, при использовании шлюза Stripe я бы authorize
произвел платеж следующим образом (authorize
является примером, этот вопрос относится ко всем методам шлюза):
$options = [
'amount' => '10.00',
'currency' => 'EUR',
];
$response = $gateway->authorize($options)->send();
if ($response->isSuccessful()) {
$data = $response->getData();
$amount = $data['amount'] / 100;
}
Поскольку Stripe работает в центах, мне приходится делить на 100
, чтобы получить сумму в той же единице, что и я указал в запросе.
Однако не все шлюзы работают в центах, а это означает, что приведенный выше код не является независимым от шлюза. Кроме того, параметр amount
может даже не называться так же в других шлюзах.
Примечание. Мне нужно получить обработанную сумму, чтобы убедиться, что она совпадает с запрошенной суммой. В этом не было бы необходимости, если бы omnipay гарантировал, что они одинаковы, но я не думаю, что это так.