Помощь со скриптом CC Processing - PullRequest
0 голосов
/ 19 мая 2010

В настоящее время я реализую сценарий обработки кредитной карты, большинство из которых предоставлены торговым шлюзом. Код вызывает функции внутри класса и возвращает строку, основанную на ответе. Конечный php-код, который я использую (детали удалены, конечно) с примером информации:

<?php
$gw = new gwapi;
$gw->setLogin("username", "password");
$gw->setBilling("John","Smith","Acme, Inc.","888","Suite 200", "Beverly Hills",
        "CA","77777","US","555-555-5555","555-555-5556","support@example.com",
        "www.example.com");
//        "CA","90210","US","support@example.com");
$gw->setOrder("1234","Big Order",1, 2, "PO1234","65.192.14.10");

$r = $gw->doSale("1.00","4111111111111111","1010");
print $gw->responses['responsetext'];

?>

, где setlogin позволяет мне войти в систему, setbilling принимает информацию о потребителе образца, set order принимает идентификатор и описание заказа, dosale принимает начисленную сумму, номер cc и дату истечения.

когда все переменные отправляются проверенными, а затем отправляются на обработку, возвращается строка в следующем формате:

ответ = 1 & responsetext = УСПЕХ & AuthCode = 123456 & TransactionID = 23456 & avsresponse = М & OrderID = & тип = продажа & RESPONSE_CODE = 100

где:

  • ответ = транзакция одобрена или снизился
  • текст ответа = текстовый ответ
  • authcode = авторизация транзакции код
  • транзакция = платежный шлюз ID
  • avsresponse = avs код ответа
  • orderid = исходный идентификатор заказа передан в запрос транс
  • response_code = числовое отображение отклик процессора

Я пытаюсь решить следующее:

  1. Как мне взять данные, которые прошло назад и отобразить его соответственно на странице - если транзакция не удалась или код AVS не соответствует моему вкусу или что-то неправильно, отображается ошибка потребитель; если сделка обработаны, они принимаются Страница завершения и транзакции Идентификатор отправляется в СЕССИИ как вывод потребитель
  2. Если значение кода_ответа соответствует таблица значений, определенные действия принято, т.е. если код = 100, принять страница успеха, если код = 300 распечатать конкретная ошибка на исходной странице клиент и т. д.

Ответы [ 2 ]

2 голосов
/ 19 мая 2010

Используйте parse_str () с аргументом массива (никогда не используйте без), чтобы получить массив с парами ключ / значение из строки. Затем вы можете легко получить доступ к отдельным значениям и реализовать свою логику.

0 голосов
/ 19 мая 2010

Я бы использовал функцию explode для всей строки, разделив ее знаком &, чтобы получить первый массив. Затем я перебрал бы результат с другим explode, отделяя знак =, чтобы получить пару ключ-значение. Оттуда вы можете работать с ним, как с любым другим массивом.

...