cancel
Showing results for 
Search instead for 
Did you mean: 
CommunityJedi22
Community Manager
Community Manager

ChannelOnline uses processors that can provide a hosted web page service to conduct all credit card transactions. This is for PCI security compliance, plus the safety of your client's data. Some processors do offer tokenization that can be used for streamlining the order process, with information encrypted and stored on the processor system. The current list of processors can be seen on the Payment Options page in the Credit Card Electronic section. 

Current Processors: 

  • Authorize,net 
  • Cybersource 
  • Intuit 
  • PayTrace 
  • Worldpay (formerly Vantiv) 
  • Worldpay eProtect 

Other Hosted Options: 

  • Amazon Pay 
  • Google Pay 
  • Paypal 

 

Transaction Overview 

Different card processors accept various field data from ChannelOnline to assist the end contact in using the hosted page for checkout (convert to order).  These can be as few as contact name, email, and transaction amount, to accepting the billing address information.  What we provide to the processor is primarily based on their hosted page implementation and the reseller’s settings within that processor’s payment portal.   

NOTE: CC information is submitted AFTER the “Review Order” step during checkout.  

A typical successful submit response will contain the following details: 

  • Credit Card Number: xxxxxxxxxxxx3705 (last 4 digits) 
  • Expiration Date (MM/YY): 01/2030 
  • Card Holder Name: Firstname Lastname 
  • Transaction Number: ####################### 
  • Authorization Code: ###### 
  • Authorization Status: ACCEPT 

 

Checkout Workflow 

 

CommunityJedi22_0-1784817338545.png

Reseller’s own Processor Connection 

Although most resellers rely on ChannelOnline integrated processors, some have their own internal setup for processing credit cards.  In this scenario, resellers can process credit cards using XML without an integrated processor i-framed capture page.  In this case, the handling of the credit card and tokenization is all handled by the reseller.  

For your reference, this REST request will include the following parameters: 

  • documentId 
  • documentNumber 
  • userEmail 
  • totalAmount 
  • poNumber 

 

You can access or trigger this request directly using the following link: 

https://api.yourdomain.com/v1/pay?documentId=[documentId]&documentNumber=[documentNumber]&userEmail=[userEmail]&totalAmount=[totalAmount]&poNumber=[poNumber] 

Please let us know if you have any questions or if any adjustments are needed. We can typically accommodate other data fields upon request. 

NOTE: The value sent in "EchoData" needs to be returned back as is on the callback to continue the order process (see below).

Sample

<input type='hidden' name='MerchantID' value="${merchantId}" />  

   

<!-- ORDER # -->  

<input type='hidden' name='CustomerID' value="${customerId}" />  

<input type='hidden' name='CustomerNumber' value="${customerNumber}" />  

<input type='hidden' name='OrderID' value="${quoteId}" />  

<input type='hidden' name='OrderNumberRegular' value="${quoteNumber}" />  

<input type='hidden' name='OrderAmount' value="${amount}" />  

<input type='hidden' name='ContactID' value="${contactId}" />  

<input type='hidden' name='ContactEmail' value="${contactEmail}" />  

<input type='hidden' name='TransactionType' value="${transactionType}" />  

<input type='hidden' name='PONumber' value="${poNumber}" />  

<input type='hidden' name='Token' value="${subsId}" />  

   

<!-- BILL TO INFO -->  

<input type='hidden' name='BilltoFirstName' value="${billingAddress.getFirstName()}" />  

<input type='hidden' name='BilltoLastName' value="${billingAddress.getLastName()}" />  

<input type='hidden' name='BilltoStreet1' value="${billingAddress.getAddress1()}" />  

<input type='hidden' name='BilltoCity' value="${billingAddress.getCity()}" />  

<input type='hidden' name='BilltoState' value="${billingAddress.getStateAbbreviation()}" />  

<input type='hidden' name='BilltoPostalCode' value="${billingAddress.getZip()}" />  

<input type='hidden' name='BilltoCountry' value="${billingAddress.getCountryAbbreviation()}" />  

   

<!-- SHIP TO INFO -->  

<input type='hidden' name='ShiptoFirstName' value="${shippingAddress.getFirstName()}" />  

<input type='hidden' name='ShiptoLastName' value="${shippingAddress.getLastName()}" />  

<input type='hidden' name='ShiptoStreet1' value="${shippingAddress.getAddress1()}" />  

<input type='hidden' name='ShiptoCity' value="${shippingAddress.getCity()}" />  

<input type='hidden' name='ShiptoState' value="${shippingAddress.getStateAbbreviation()}" />  

<input type='hidden' name='ShiptoPostalCode' value="${shippingAddress.getZip()}" />  

<input type='hidden' name='ShiptoCountry' value="${shippingAddress.getCountryAbbreviation()}" />  

   

<!-- CUSTOM DATA -->  

<input type="hidden" name="EchoData" value="${userData}" /> 

 

 

Platform Merchant SAQ-A Attestation 

ChannelOnline was designed and scoped to support an SAQA merchant model. Syndigo maintains an SAQ-A certification for CC processing for ChannelOnline that supports our hosted page, PCI-compliant, non-data storage, and checkout workflow for the benefit of our resellers and their end customers. This SAQ-A certification is approved by an outsourced third party for annual validation.  

  • Cardholder data is entered directly into the hosted payment page 
  • Syndigo does not store, process, or transmit account data outside of this process 
  • Syndigo systems are limited to hosting or supporting the payment page for this process 

 

 Click HERE for Video

Version history
Revision #:
1 of 1
Last update:
a week ago
Updated by:
 
Contributors