This is an old revision of the document!
This document describes the steps to configure Versago to accept credit card and eCheck payments. It also describes the reports available to provide traceability for Versago Payments processing.
The following pages contain additional information that may be helpful with understanding these processes.
The Payment configuration function is used to identify the payment gateway, and associated credentials, to be used for processing payments accepted through Versago.
Email will also need to be configured to allow the user to send a confirmation page for their payment transaction.
Be sure the checkbox is cleared if you do not want to accept a payment method. In the illustration above, American Express is not accepted and will not be presented as an option for the user.
For the payment information in Versago to be processed into SAP Business One, some specific values must be defined. This is done using the “Versago Payment Info Mapping” form.
Notes
Once any of the codes have been defined and saved, the associated report, “Versago Payment Info Mapping” must be used to review and update values. The maintenance form will not allow more than one record to be created.
Review the Reports Configuration page. The basic process through the “Display” step is the same for record selection reports. Details of the basic setup are not included in this document.
The “Record Submission” page is used to configure the report for record selection. When the “Enable Record Submission” checkbox is selected, additional configuration items are displayed.
Also select the “Process Payments” option checkbox if this report will be used for accepting and processing credit card and eCheck payments.
Configuration of Record Submission reports for payments is described in the documents Versago – Payments Setup.
See the Record Submission Configuration page for detailed information on configuring the record submission information.
This tab is skipped in this setup process.
Charts should not be used with Record Selection reports.
In a Versago environment, back-end processing is typically done using Bizweaver. The information here refers to Bizweaver but other process flow tools might be used as well.
Most record submission reports will have an associated Bizweaver workflow to handle additional processing. For payments this might be creating SAP Business One Incoming Payment transactions. Or it might be updating the status on a group of orders.
There are two ways to initiate this processing. One is to have the Bizweaver workflow set on a schedule so that it executes periodically during the day. Second is to initiate the workflow when the submission is saved to the database. For the second option a database trigger is used.
The SQL database needs to be initialized to allow triggered (immediate) processing to occur. The initialization process is described here.
The following discussions assumes that you have some knowledge about database triggers and have access to the SQL Server tools needed to install them.
A basic database trigger to initiate Bizweaver processing for payments will look like this.
CREATE TRIGGER [dbo].[twbs_tr_VersagoPayments] ON [dbo].[Versago_Payments] AFTER INSERT AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; -- DECLARE @vgo_BatchID INT, @object INT, @url VARCHAR(5000), @bw_url nvarchar(100), @bw_WorkflowID INT, @bw_port INT, @pArgVariableName nvarchar(50) -- /* It may be necessary to change all instances of "vgoCommon" to a different name if you have used a different name */ SELECT t0.BW_URL, t0.BW_Port, t0.BW_WorkflowID FROM vgoCommon..twbs_vgo_payment_InfoMapping t0 -- SET @pArgVariableName = 'vgo_BatchID' SELECT @vgo_batchid = (SELECT vgo_batchid FROM inserted) SELECT @bw_url = (SELECT t0.bw_url FROM vgoCommon..twbs_vgo_payment_InfoMapping t0) SELECT @bw_port = (SELECT t0.bw_port FROM vgoCommon..twbs_vgo_payment_InfoMapping t0) SELECT @bw_Workflowid = (SELECT t0.BW_WorkflowID FROM vgoCommon..twbs_vgo_payment_InfoMapping t0) -- SELECT @url = @bw_url + '/BWService/api/workflow/InvokeWorkFlow?pTaskID=' + CAST(@bw_WorkflowID AS VARCHAR) + '&pStartAfter=0&pArguments={' + @pArgVariableName + ':' + CAST(@vgo_BatchID AS VARCHAR) + '}' EXEC sp_OACreate 'MSXML2.XMLHTTP', @object OUT; EXEC sp_oamethod @object, 'open', NULL, 'get', @url EXEC sp_oamethod @object, 'send'SELECT @url --select @responsetext as [Response] -- select @url EXEC sp_oadestroy @object END
The following video illustrates this process.
.
Two main reports are provided for users to review payment transactions and resolve issues. These reports are Versago Payments Recap and Payments Transaction Log. The standard location for these reports is in the ‘Payments Admin” menu category.
Detailed information about successful payment transactions can be viewed using the “Versago Payments Recap” report. This report displays details about each transaction, including invoices paid, information sent to the processing gateway, and the response from the gateway.
This report utilizes a SQL View as the data source. The View must be created manually in the database. Code to create the View is provided below.
Create the view in the VersagoData database (or whatever database name you may be using to capture Versago form data).
CREATE VIEW [dbo].[vgo_vw_PaymentTransactions] AS SELECT DISTINCT t0.vgo_transid, (SELECT SUM(x0.BalDue) FROM Versago_Payments x0 WHERE x0.vgo_transid = t0.vgo_transid GROUP BY x0.vgo_transid) AS [TtlAmtPaid], CASE t0.vgo_paymenttype WHEN 1 THEN 'Credit Card' WHEN 2 THEN 'eCheck' END AS [TransType], CAST(t0.vgo_paymentdate AS DATE) AS [vgo_PaymentDate], (SELECT COUNT(*) FROM Versago_Payments x0 WHERE x0.vgo_transid = t0.vgo_transid) AS [DocCount], t0.vgo_PostingStatus, t0.vgo_PostingDate, t0.vgo_PostingId FROM Versago_Payments t0
Use the Payments Transaction Log report for information about unsuccessful transactions.
The Payments Transaction Log report is like the Payments Processing Recap report, except that it shows both successful and unsuccessful transactions.
Note that the “Transaction ID” for unsuccessful transactions begins with “E” followed by the log record ID, and the date & time of the transaction.
In general, the “Response” information will be the most helpful for troubleshooting unsuccessful transactions since it shows the reason a transaction was rejected.