2013-06-20 4 views
-1

Я бы хотел предложить решение для электронной коммерции, которое я сейчас разрабатываю. Веб-приложение разработано на PHP, база данных MYSQL, а компания Credit Card - CIELO (старый Visanet), и все настроено. Моя компания Платежного шлюза, где я получаю от моих клиентов через HTTP POST следующие полей:Предложение отменить транзакцию по кредитной карте на PHP

- order_id; 
- value; 
- credit_card 
- exp_date 
_ ccd_field 

обрабатывает всю информацию с кредитной карточкой компанией и после этого процесса, я возвращаю $ _POST моего клиенту с order_id, значением и статусом (OK, отклонено или повторите попытку). Мой вопрос: Что делать, если возврат невозможен по какой-либо причине после захвата кредитной карты, что я могу сделать, чтобы проверить $ _POST и откат файла XML, который я отправил на CIELO. Спасибо, что помогли мне! С уважением, Thiago Casteliano. Сан-Паулу/Бразилия.

+1

Вы спрашиваете: «Как отменить транзакцию с помощью Cielo?» Если это так, ответ будет зависеть от их требований. Я не понимаю, как мы можем ответить вам, когда вы не разместили код, а также какие-либо подробности о том, как трансакция обрабатывается Cielo. –

+0

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

ответ

0

Вы можете разбить процесс на:

  1. надстройкой сделки,
  2. Execute добавил транзакцию, и вы можете добавить еще один вызов:
  3. проверка состояния транзакции.

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

Если вы используете HTTP, в противном случае вы не сможете проверить, получил ли вызывающий объект статус (если вам не потребуется некоторое подтверждение или если вы являетесь абонентом на втором этапе).

выше хорошо вписывается в RESTful подход:

  1. POST к/операции с деталями транзакции,
  2. POST к/сделок/{TRANSACTION_ID}/выполнить для того, чтобы выполнить операцию,
  3. GET к/transaction/{transaction_id}, чтобы просмотреть данные транзакции (а именно, статус этого, так как я не буду показывать номер кредитной карты здесь),
Смежные вопросы