Реализуйте процесс оплаты с помощью Quickbook (Intuit Payment)

Я хочу реализовать процесс оплаты Quickbook для сайта электронной коммерции. Я много ищу, но не могу найти правильного решения.


person Chirag Shah    schedule 05.10.2013    source источник


Ответы (3)


Если вам нужна учетная запись продавца для тестирования/разработки, инструкции приведены здесь. получить один. В противном случае используйте свое фактическое имя пользователя/пароль 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_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);  
}
person Keith Palmer Jr.    schedule 07.10.2013
comment
Спасибо за ценную помощь. - person Chirag Shah; 07.10.2013

Вы можете проверить следующий сайт.

https://developer.intuit.com/docs/030_qbms

Если у вас есть какие-то конкретные qts, пожалуйста, поднимите билет в службу поддержки.

https://developer.intuit.com/Support/Incident

Спасибо

person Manas Mukherjee    schedule 05.10.2013

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

Шаг 3.

Сгенерируйте CSR на своем сервере. Вы можете сделать это с помощью следующих двух команд из командной строки * nix или с помощью Cygwin в Windows. [Общее имя] для 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 (e.g. 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, который будет использоваться при подключении к продавцу.

person Gunjan Patel    schedule 12.03.2015