How to integrate with Sage Vault for associating CreditCardGUID with Sales Order?

We are using Sage 100 Premium ERP 2014 (Version 5.10.1.0) with eBusinessWebServices (eBWS).  We are setting up an ordering website that will process credit cards.  The goal is to tie this all together for collecting new credit cards, converting them to a GUID, allowing the customer to optionally 'save the GUID for later', and finally associating the GUID with a Sales Order so it gets charged when the order is invoiced.

Right now the website calls the Sage Vault -> Insert_Credit_Card_Method and gets back a CreditCardGUID.  In Sage 100 we have a VISA payment type setup, and the correct Merchant ID and Merchant Key are setup. That same M_ID and M_Key are used to call the Sage Vault webservices. Endpoint: https://gateway.sagepayments.net/web_services/wsVault/wsVault.asmx?WSDL

The problem is, when we use the Sage Vault CreditCardGUID in the eBWS->CreateSalesOrder method, it gives this error:
Could not set SO_SalesOrderPayment_bus column CreditCardGUID$: xyz is not on file.

That seems to be because that CreditCardGUID does not exist in AR_CustomerCreditCard for that CustomerNo.

Not sure if this is related, but according to these release notes, that error was patched in 5.00.5.0? Note we are running 5.10.1.0.
http://www.mbabsi.com/support-blog/support-blog/sage-100-erp-2013-product-update-5-5-00-5-0/page-12


In troubleshooting, we found manually INSERTing a row into the AR_CustomerCreditCard with the CreditCardGUID generated by Sage Vault allows the eBWS->CreateSalesOrder method to work. However I'm skeptical that the GUID will work later on when we go to invoice and actually charge the card.

The good news is eBWS->CreateSalesOrder works when paying by terms or an existing card. It is only with new cards we have the problem.


Questions:

Are CreditCardGUIDs from Sage Vault usable in our install of Sage 100 ERP?


Should we use the endpoint in eBWS called AddCreditCardToVault instead of the Sage Vault?
By the way, using a CreditCardGUIDs generated from eBW->AddCreditCardToVault gives the exact same error when calling CreateSalesOrder: "CreditCardGUID$: xyz is not on file."


Is it OK to insert directly into the AR_CustomerCreditCard table? Will the CreditCardGUID generated by Sage Vault work when the order is invoiced?

What is the purpose of the eBWS CreateSaleOrder field Payments->SaveCreditCard?  Setting this to Y, 1 doesn't seem to have an impact.  It would be nice if the web service would automatically create the new AR_CustomerCreditCard record, at least that is what I'd expect it to do based on the method name.

  • 0

    As a side note, GUIDs generated by SageVault work with the eBWS->PreAuthorizeCreditCard method.

    I've also noticed in the eBWS->CreatSalesOrder Payment section, the order of the fields in the request body appear to matter.  I'm using SOAP-UI to make the calls.

    This way:

    <ns1:CreditCardGUID>82c38019327e44acb4604a0ceb0eb29d</ns1:CreditCardGUID>
    <ns1:PaymentType>VISA</ns1:PaymentType>

    Result:

    Could not set SO_SalesOrderPayment_bus column CreditCardGUID$: 82c38019327e44acb4604a0ceb0eb29d is not on file.

    Opposite order:

    <ns1:PaymentType>VISA</ns1:PaymentType>
    <ns1:CreditCardGUID>82c38019327e44acb4604a0ceb0eb29d</ns1:CreditCardGUID>

    Result:

    Could not write to SO_SalesOrderPayment_bus: You must enter credit card information in the following fields to accept the transaction. . Sage Exchange Vault Credit Card / ACH Indentifier.

  • 0 in reply to Launch Gate

    Support never got back to me, neither did anybody in the forum....

    The good news is, we figured it out on our end! There are some twists and turns.  My company does consulting for Sage100. Please contact me if you run into this or related issues with Sage100, eBWS, and Sage Vault:  [email protected]

  • 0 in reply to Launch Gate
    Having similar issues. Can you help? A quick phone call would be a life saver.