Использование FirstData с Omnipay

Согласно документам, я могу отправить такую ​​форму (пример);

<form method="post" action="https://test.ipg-online.com/connect/gateway/processing">
<input type="hidden" name="txntype" value="sale">
<input type="hidden" name="timezone" value="CET"/>
<input type="hidden" name="txndatetime" value="2015:12:11-09:12:47"/>
<input type="hidden" name="hash" value="7a17dcc15df2819649ca80b7921"/>
<input type="hidden" name="storename" value="12345678"/>
<input type="hidden" name="mode" value="fullpay"/>
<input type="text"   name="chargetotal" value="13.00"/>
<input type="hidden" name="currency" value="826"/>
<input type="hidden" name="responseSuccessURL" value="http://example.co.uk/thanks" />
<input type="hidden" name="responseFailURL" value="http://example.co.uk/failure" />
<input type="submit" value="Submit">
</form>

И это будет работать, используя что-то вроде почтальона (но я не предоставил правильный storename Вот). Под «работой» я имею в виду, что вы входите в их шлюз и можете ввести данные своей карты, адрес доставки и т. Д.

Для того, чтобы получить правильный hash а также txndatetime Я могу использовать FirstData_Connect Omnipay библиотека.

Я думал, что могу просто использовать public function getData но на самом деле это требует подробностей о карточке пользователя, коде cvv, сроке действия и т. д. Я не хочу, чтобы на моем сайте был подобный интерфейс, я просто хочу, чтобы пользователь мог переходить по ссылке https://test.ipg-online.com/connect/gateway/processing — как в примере выше.

Итак, как мне структурировать сторону PHP, чтобы использовать библиотеку Omnipay? Пока что у меня есть;

$gateway = Omnipay::create('FirstData_Connect');
$gateway->setStoreId($storeId);
$gateway->setSharedSecret($sharedSecret);

$response = $gateway->purchase(array(
'returnUrl' => $returnUrl . '?' . http_build_query($arguments),
'cancelUrl' => $cancelUrl,
'amount' => $payment->getAmount(),
'transactionId' => $paymentId,
))->send();

$result = $response->getData();
return $result;

Но, как я уже сказал выше, я также обязан предоставить данные карточки пользователя. Итак, я получаю ошибку;

"message":"The card parameter is required",
"class":"Omnipay\\Common\\Exception\\InvalidRequestException

0

Решение

Итак, похоже, вам нужен шлюз, который работает не так, как текущие шлюзы FirstData_Connect и FirstData_Global. Оба из них прямая кредитная карта шлюзы того типа, где вы отправляете полный запрос на покупку, включая данные карты. По-видимому, вы говорите с шлюзом перенаправления (так же, как шлюзы PayPal).

Когда ты сказал В соответствии с документами, я могу отправить форму, как это — о каких документах ты говоришь? Я не очень знаком с FirstData и их различными вариантами.

Это звучит так, как будто вам нужно разработать или разработать новый шлюз для FirstData, который будет возвращать объект RedirectResponse, содержащий URL-адрес, по которому вы отправляете клиента, чтобы ввести данные своей карты и вернуться в ваше приложение, используя один из ответов. [Успех | Отказ] URL-адреса, которые вы передаете при первоначальном вызове. По сути, именно так работают PayPal и другие шлюзы перенаправления, поэтому вы можете захотеть начать искать там, а не в существующих шлюзах FirstData.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]