Search: 
Available in: QUICKBOOKS
QBMSAuthorize Component [IBiz Integrator for QuickBooks - V4]

Properties   Methods   Events   Configuration Settings  

QBMSAuthorize is used to charge credit cards using QuickBooks Merchant Services

NOTE: What follows is a very short description of the component interfaces. For more information, please consult the help files that come with the respective package.

Remarks

The QBMSAuthorize component is used to authorize credit cards using QuickBooks Merchant Services (QBMS). The QBMSAuthorize component corresponds to the new credit card authorization capability integrated into the QuickBooks Receive Payments and Sales Receipt forms.

Required Connection Fields: ApplicationId, ApplicationLogin, ConnectionTicket, and SessionTicket*.

Additional required fields (Auth and Charge): CardNumber, CardExpMonth. CardExpYear, and TransactionAmount.

* = If using session authentication (on by default)

Supported Methods: AuthorizeCard, ChargeCard, CaptureTransaction (TransactionId, Amount), VoidTransaction (TransactionId), and GetXMLAggregate.

This component is not supported for QuickBooks Online Edition.

The following example shows how to charge or authorize a credit card:

   
component.ApplicationLogin = "MY_APP_LOGIN"
component.ApplicationId = "MY_APP_ID"
component.ConnectionTicket = "MY_CONNECTION_TICKET"
component.SessionTicket = "MY_SESSION_TICKET"
'When authorizing with a beta application, uncomment the following to use the test servers 
'component.Config "QBMSServer=https://merchantaccount.ptc.quickbooks.com/j/AppGateway" 
'component.Config "SessionTicketUpdateURL=https://login.ptc.quickbooks.com/j/qbn/sdkapp/connauth" 
'component.Config "DTD=http://merchantaccount.ptc.quickbooks.com/dtds/qbmsxml10.dtd"
 
component.CardNumber = "4111111111111111"
component.CardExpMonth = "12"
component.CardExpYear = "2008"
component.TransactionAmount = "203.00"
component.StreetAddress = "23 Garcia Ave"
component.PostalCode = "94043"
component.ChargeCard()

To use the above demo, you will first need to sign up for QuickBooks Merchant Services. You need to acquire the properties ApplicationLogin, ApplicationId, ConnectionTicket, and SessionTicket, before you can accept credit card payments. There are three steps to this process.

Step One:

First, to register with QuickBooks Merchant Services, go to http://appreg.quickbooks.com. You will be given a choice between creating an application for a Production environment or a Beta (ptc) environment for testing purposes. Regardless of which option you choose, follow the instructions and you will receive an ApplicationLogin and ApplicationId. We'll assume for the moment that the values for these two fields are "MY_APP_LOGIN", and "MY_APP_ID" respectively.

Step Two:

Now you must acquire a connection ticket Use the real application id value you received from the previous step, and plug it into the following url instead of "MY_APP_ID".

Productionhttps://login.quickbooks.com/j/qbn/sdkapp/confirm?serviceid=1002&appid=MY_APP_ID
Betahttps://login.ptc.quickbooks.com/j/qbn/sdkapp/confirm?serviceid=1002&appid=MY_APP_ID

Step Three:

If session authentication is required, you will also need to acquire a session ticket when you wish to authorize credit cards. (This session ticket will eventually time out and expire). To acquire a session ticket, take the ApplicationId received in Step 1 and plug it into the following url instead of "MY_APP_ID".

Productionhttps://login.quickbooks.com/j/qbn/sdkapp/sessionauth2?serviceid=1002&appid=MY_APP_ID
Betahttps://login.ptc.quickbooks.com/j/qbn/sdkapp/sessionauth2?serviceid=1002&appid=MY_APP_ID

You may now process credit cards.

In addition to receiving credit card payments, the results of each transaction may be pushed to quickbooks via the RECEIVEPAYMENT and SALESRECEIPT components. After a successful charge (or a successful authorize followed by a capture), you may call GetXMLAggregate to generate an XML aggregate containing all the relevant information pertaining to the transaction. This aggregate should be passed to the RECEIVEPAYMENT or SALESRECEIPT component's CCAggregate property. You may then submit the Payment or Sales Receipt as you normally would. (Making sure the QBXMLVersion is set to 4.1 or higher). QuickBooks will now show credit card data attached to the payment or sales receipt.

Property List


The following is the full list of the properties of the component with short descriptions. Click on the links for complete descriptions.

ApplicationId Id of the application you registered.
ApplicationLogin Name of the application that corresponds to the ApplicationId.
ApplicationVersion Application version string.
CardExpMonth Expiration month of the credit card specified in CardNumber.
CardExpYear Expiration year of the credit card specified in CardNumber.
CardNumber Customer's Credit Card number.
CardSecurityCode A three digit security code located on the back of many credit cards (optional).
CommercialCardCode Used only for commercial credit cards.
ConnectionTicket Ticket that specifies which connection to use.
ECommerce Indicates whether this is an e-commerce or mail order transaction.
InstallationId Optional unique Id.
NameOnCard The name on the customer's credit card.
PostalCode Customer's zip code (or postal code if outside of the USA).
Recurring Indicates whether this transaction is part of a recurring billing cycle.
ResponseAVSStreet Contains the Address Verification System result code for the street address.
ResponseAVSZip Contains the Address Verification System result code for the street address.
ResponseAuthCode Authorization code returned from the credit card processor.
ResponseAuthStamp Authorization Stamp returned from the QBMS server.
ResponseAuthTime Time stamp indicating the time in which the card processor authorized the transaction
ResponseBatchId Needed for QuickBooks reconciliation.
ResponseCSCMatch Contains the result of the Card Security Code check.
ResponseCode Indicates whether the transaction was a success or a failure.
ResponseGroupingCode Needed for QuickBooks reconciliation.
ResponseMerchantAccount Merchant's QBMS account number.
ResponseMessage Provides a user-readable explanation of the ResponseCode
ResponsePaymentStatus Indicates whether the transaction has been settled successfully.
ResponseTransactionId Transaction id returned from the credit card processor.
SSLAcceptServerCert Instructs the component to unconditionally accept the server certificate that matches the supplied certificate.
SSLCertEncoded The SSL certificate (PEM/base64 encoded).
SSLCertStore The name of the certificate store for the client certificate.
SSLCertStorePassword The password for the certificate store (if any).
SSLCertStoreType The type of certificate store for the client certificate.
SSLCertSubject The subject of the certificate used for client authentication.
SSLServerCert The server certificate for the last established connection.
SSLServerCertStatus The verification status of the server certificate for the last established connection.
SalesTaxAmount The amount of sales tax charged in this transaction.
SessionTicket Ticket used for session authentication.
StreetAddress Customer's street address.
TransactionAmount Amount to charge the customer's credit card.

Method List


The following is the full list of the methods of the component with short descriptions. Click on the links for complete descriptions.

AuthorizeCard Authorizes the card, but does not mark funds for settlement.
CaptureTransaction Used to transfer funds marked with the AuthorizeCard method to the merchant's account.
ChargeCard Authorizes a card and captures the funds to the merchant's account.
Config Sets or retrieves a component configuration setting.
GetXMLAggregate Exports the XML required to reconcile with QuickBooks.
Interrupt Interrupt the current method.
RefundTransaction Cancels a previous transaction that has not yet been settled.
VoiceAuthorization Cancels a previous transaction that has not yet been settled.
VoidTransaction Cancels a previous transaction that has not yet been settled.

Event List


The following is the full list of the events fired by the component with short descriptions. Click on the links for complete descriptions.

Error Information about errors during data delivery.
SSLServerAuthentication Fired after the server presents its certificate to the client.
SSLStatus Shows the progress of the secure connection.
Status Shows the progress of the QuickBooks connection.
Warning Fired when a warning occurs.

Configuration Settings


The following is a list of configuration settings for the component with short descriptions. Click on the links for complete descriptions.

AbsoluteTimeout Determines whether timeouts are inactivity timeouts or absolute timeouts.
CodePage The system code page used for Unicode to Multibyte translations (Windows/COM only).
DTD DTD specified in the XML headers
FirewallData Used to send extra data to the firewall.
FirewallListener If true, the component binds to a SOCKS firewall as a server (IPPort only).
HTTPVersion The version of HTTP used by the component
IfModifiedSince A date determining the maximum age of the desired document.
InBufferSize The size in bytes of the incoming queue of the socket.
KeepAlive Determines whether the HTTP connection is closed after the completion of the request.
MaxLineLength The maximum amount of data to accumulate when no EOL is found.
MaxTransferredData The maximum number of incoming bytes to be stored by the component.
OpenSSLCADir The path to a directory containing CA certificates.
OpenSSLCAFile Name of the file containing the list of CA's trusted by your application.
OpenSSLCipherList A string that controls the ciphers to be used by SSL.
OpenSSLPrngSeedData The data to seed the pseudo random number generator(PRNG).
OutBufferSize The size in bytes of the outgoing queue of the socket.
ProxyAuthorization The authorization string to be sent to the proxy server.
ProxyPassword A password if Basic authentication is to be used for the proxy.
ProxyPort Port for the proxy server (default 80).
ProxyServer Name or IP address of a proxy server (optional).
ProxyUser A user name if Basic authentication is to be used for the proxy.
QBMSServer URL at which credit card transactions take place.
SSLCipherStrength The minimum cipher strength used for bulk encryption.
SSLEnabledProtocols Used to enable/disable the supported security protocols.
SSLProvider The name of the security provider to use.
SSLSecurityFlags Flags that control certificate verification
SessionTicketUpdateURL URL at which the acquired session ticket is exchanged for a new one
SocketHandle The handle of the main socket used by the component.
Timeout A timeout for the control
UseWinInet If set, the WinInet API is used for retrieving the URL
UseWinInetCookies Controls whether to send and accept cookies when making http requests through WinInet
UserAgent Information about the user agent (browser).
WinsockInfo Identifying information about the loaded Winsock stack (Windows only)
WinsockLoaded Loads and unloads Winsock on demand (Windows only)
WinsockMaxDatagramSize Size in bytes of the largest UDP datagram that can be sent or received (Windows only)
WinsockMaxSockets Maximum number of sockets available to a single process (Windows only)
WinsockPath The path to the Winsock DLL used (Windows only)
WinsockStatus The status of the Winsock stack (Windows only)

| About | Privacy Policy | Terms of Use |
© Copyright 2008 /n software inc.