Как отправить уникальный идентификатор заказа для каждого запроса на платежный шлюз? - PullRequest
1 голос
/ 18 мая 2009

У меня есть корзина. Я хочу интегрироваться с платежным шлюзом CCAvenue. Я всегда отправляю идентификатор заказа из базы данных. После оформления заказа внезапно моя система выключается. Затем снова я должен проверить это отправить снова. Идентификатор заказа из моей базы данных является дубликатом для платежного шлюза. Это моя проблема.

Мой вопрос: как мне каждый раз отправлять уникальный идентификатор заказа? Мой сайт на PHP.

Ответы [ 3 ]

2 голосов
/ 18 мая 2009

В большинстве платежных шлюзов вы можете отправить одну транзакцию «продажа» или «захватить» AKA, или вы можете отправить транзакцию авторизации и захвата в виде двух отдельных запросов.

Если вы беспокоитесь о проблемах согласованности транзакций при отправке одной транзакции продажи, я рекомендую отправить разрешение на резервирование средств, а затем отправить отлов в конце процесса заказа.

Если система дает сбой во время первоначальной авторизации, в худшем случае средства высвобождаются в течение трех дней, когда истекает срок вашей авторизации. Вам следует позаботиться о том, чтобы не происходило худшего случая авторизации, поскольку он блокирует использование разрешенных средств до их очистки, что иногда может привести к расстроенным клиентам.

Если во время финального захвата произошел сбой системы, и вы не можете записать статус, вы можете просто повторно запустить захват позже, и в этом случае результатом будет либо успех, либо сообщение от шлюза, указывающее, что захват уже произошел, который затем можно использовать для обновления статус оплаты вашей системы.

0 голосов
/ 18 мая 2009

Вероятно, вам нужен уникальный идентификатор, подобный этому http://us3.php.net/uniqid, хотя ваш вопрос довольно неопределенный

0 голосов
/ 18 мая 2009

Я думаю, что для этого должна быть отдельная функция - она ​​работает постоянно, проверяя, есть ли предыдущая версия заказа в корзине или нет. Кроме того, копия процесса должна храниться в БД всегда. Таким образом, если по какой-то причине сервер перезагружается, все равно заказ может быть выполнен с той же позиции (таким образом, не будет проблем с дублированием заказов).

...