Ability to set CustomValuesXml from ProcessPaymentResult

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.
9 years ago
My wishlist:
The ability to set custom values for other return results from a payment provider (preferably in the CustomValuesXML field in the Orders table of the database).
Right now, you can save the AuthorizationTransactionId, AuthorizationTransactionCode, AuthorizationTransactionResult, CaptureTransactionId,CaptureTransactionResult.

For handling things such as:
Extra IDs (like in Intuit Merchant Services, there is a separate ClientTransID value that is used for banking reconciliation in Quickbooks)
Transaction timestamps from the merchant bank -  these are used to confirm valid POSTs if a security issues ever comes along (like a hack attack).

I'm writing a comprehensive Intuit Gateway Payment Module for the community here to fill the vacuum of Quickbooks support (or shall I say, "affordable" Quickbooks support)
9 years ago
The ProcessPaymentRequest has a CustomValues dictionary
    public partial class ProcessPaymentRequest
    {
...

        /// <summary>
        /// You can store any custom value in this property
        /// </summary>
        public Dictionary<string, object> CustomValues { get; set; }


And the OrderProcessingService will serialize those values when the order gets created(persisted to db):
                        var order = new Order
                        {
...
                            CustomValuesXml = processPaymentRequest.SerializeCustomValues(),
9 years ago
OK, I see this now - I was looking in the wrong part (expecting to see this in the ProcessPaymentResult instead of the ProcessPaymentRequest).

It works! Here's a snippet from my pay module to save the returned timestamp:

                            XmlNode TxnAuthorizationStampNode = responseNode.SelectSingleNode("//TxnAuthorizationStamp");
                            string TxnAuthorizationStamp = string.Empty;
                            if (TxnAuthorizationStampNode != null)
                            {
                                TxnAuthorizationStamp = TxnAuthorizationStampNode.InnerText;
                                processPaymentRequest.CustomValues.Add("TxnAuthorizationStamp", TxnAuthorizationStamp);
                            }


Thanks! - Maybe this post needs to be moved
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.