使用Quickbook实施付款流程(Intuit付款)

时间:2013-10-05 17:00:39

标签: php intuit-partner-platform intuit

我想为电子商务网站实施Quickbook支付流程。我搜索很多,但无法找到合适的解决方案。

3 个答案:

答案 0 :(得分:3)

如果您需要测试/开发商家帐户,请提供说明here以获取一个。否则,请使用您的实际Intuit用户名/密码进行其余步骤。

按照on our QuickBooks wiki说明在DESKTOP模式下注册。

注册后,您应该拥有应用程序登录,应用程序ID和连接票证。您将从实际注册过程中获取App Login和App ID,然后在完成短连接过程后获得Connection Ticket。

从GitHub下载QuickBooks PHP DevKithttps://github.com/consolibyte/quickbooks-php

请看这个示例文件:docs / example_merchant_services.php(click here for direct link to code on GitHub

填写您的App登录/连接票证。

阅读其余docs / example_merchant_service.php文件,了解如何向信用卡收费,授权信用卡等的示例。

docs /目录中还有一些其他示例(example_merchant_service_wallet.php等),它们还展示了如何以符合PCI的方式存储Intuit的信用卡等。

您的结果代码应该看起来像:

<?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);  
}

答案 1 :(得分:2)

您可以查看以下网站。

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

如果您有任何具体的qts,请提出支持票。

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

由于

答案 2 :(得分:1)

对于开发者: 在上面建议的文档中,您将找到生成密钥的步骤。让我给你更多的意见,因为我在开发过程中遇到了一些问题。

第3步:

  

在您的服务器上生成CSR。您可以使用以下两个来完成此操作   来自* nix shell提示符的命令,或在Windows上使用Cygwin。该   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文件夹中创建私钥。为此,您可以在站点根文件夹(public_html / key.php)中编写新的 key.php 文件

shell_exec('openssl genrsa -out ../host.key 1024');

成功执行此代码后,您将在public_html文件夹的服务器外找到host.key。

使用FTP或cpanel下载此文件,并在本地系统终端中执行以下步骤(适用于* nix用户)。您将要求输入一些有关您所在国家/地区的信息以及所有这些信息,只需将其留空即可。&#39; - 这是必要的,否则你将无法获得签名证书。

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 文件,该文件将用于商家连接。