Я хочу реализовать процесс оплаты Quickbook для сайта электронной коммерции. я ищу много, но не могу найти правильное решение.
Если вам нужна учетная запись для тестирования / разработки, здесь приводятся инструкции для ее получения. В противном случае, используйте свое фактическое имя пользователя / пароль Intuit для остальных шагов.
Следуйте инструкциям нашей вики-книги QuickBooks, чтобы зарегистрироваться в режиме DESKTOP.
После регистрации у вас должен быть вход в приложение, идентификатор приложения и билет на подключение. Вы получите идентификатор входа в приложение и идентификатор приложения из фактического процесса регистрации, а затем Билет подключения после прохождения короткого процесса подключения.
Загрузите QuickBooks PHP DevKit из GitHub: https://github.com/consolibyte/quickbooks-php
Посмотрите на этот пример файл: docs / example_merchant_services.php ( нажмите здесь, чтобы получить прямую ссылку на код на GitHub )
Заполните свой билет на вход в приложение / подключение.
Прочтите оставшуюся часть этого документа docs / example_merchant_service.php для примеров того, как взимать кредитные карты, разрешать кредитные карты и т. Д.
Есть несколько других примеров в каталоге docs / example (example_merchant_service_wallet.php и т. Д.), Которые также показывают, как хранить кредитные карты с Intuit в соответствии с PCI-совместимым способом и т. Д.
В результате получившийся код должен выглядеть примерно так:
<?php // Include the QuickBooks files require_once 'QuickBooks.php'; $dsn = null; $path_to_private_key_and_certificate = null; $application_login = 'qbms.consolibyte.com'; $connection_ticket = 'TGT-157-p3PyZPoH3DtieLSh4ykp6Q'; // Create an instance of the MerchantService object $MS = new QuickBooks_MerchantService( $dsn, $path_to_private_key_and_certificate, $application_login, $connection_ticket); // Now, let's create a credit card object, and authorize an amount agains the card $name = 'Keith Palmer'; $number = '5105105105105100'; $expyear = date('Y'); $expmonth = date('m'); $address = '56 Cowles Road'; $postalcode = '06279'; $cvv = null; // Create the CreditCard object $Card = new QuickBooks_MerchantService_CreditCard($name, $number, $expyear, $expmonth, $address, $postalcode, $cvv); // We're going to authorize $295.00 $amount = 295.0; if ($Transaction = $MS->authorize($Card, $amount)) { print('Card authorized!' . "\n"); print_r($Transaction); }
Вы можете проверить следующий сайт.
https://developer.intuit.com/docs/030_qbms
Если у вас есть какие-то конкретные qts, то, пожалуйста, поднимите билет поддержки.
https://developer.intuit.com/Support/Incident
благодаря
Для разработчика: в предложенном выше документе вы найдете шаг для генерации ключа. Позвольте мне дать вам больше информации об этом, поскольку я столкнулся с некоторым вопросом во время моего развития.
Шаг 3:
Создайте CSR на своем сервере. Вы можете сделать это со следующими двумя командами из приглашения оболочки * nix или с помощью Cygwin в Windows. [Common Name] для CSR должно быть в форме: your-https-hostname.com:your-application-login. При появлении запроса не следует вводить адрес электронной почты. Вы не должны вводить пароль.
openssl genrsa -out host.key 1024 openssl req -new -nodes -key host.key -out host.csr
Предложения:
Если вы запутались или не знаете, что именно нужно делать с этими командами, то вот решение, если вы разработчик php.
Сначала создайте закрытый ключ, используя следующий php-код, вы должны использовать http://php.net/manual/en/function.shell-exec.php для выполнения команды выше. Для обеспечения безопасности рекомендуется создать секретный ключ из public_html или www-папки вашего сайта. Для этого вы можете написать новый файл key.php в корневой папке сайта (public_html / key.php)
shell_exec('openssl genrsa -out ../host.key 1024');
После успешного выполнения этого кода вы найдете host.key на стороне вашего сервера в папке public_html.
Загрузите этот файл с помощью FTP или cpanel и выполните следующие действия в локальном системном терминале (для пользователей * nix). Вы попросите ввести некоторую информацию о своей стране и все такое, просто оставьте их пустыми, указав «.». – это необходимо, иначе вы не сможете получить подписанный сертификат.
gunjan@gunjan:/var/www/html$ openssl req -new -nodes -key host.key -out host.csr You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]:. State or Province Name (full name) [Some-State]:. Locality Name (eg, city) []:. Organization Name (eg, company) [Internet Widgits Pty Ltd]:. Organizational Unit Name (eg, section) []:. Common Name (eg server FQDN or YOUR name) []:<very_important_step_copy_CN_from_developer_account> Email Address []:. Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []:. An optional company name []:.
После этого вы получите строку сертификата, подписанную csr. Скопируйте его и сохраните в файл .txt, это будет использоваться для создания файла .pem , который будет использоваться в соединении с торговцем.