Skip to main content

Hello,

I’m creating payment pluign and integration between acumatica and cybersource payment acceptance, 

Cybersource secure acceptance requires creating of signature that is being posted with the transaction details, cybersource uses this signature to verify that the authenticity of the request.

This signature can have special characters like = / _ - … etc

When I implment GetDataForPaymentForm, I add the signature as form Parameter input with other transaction parameters, I set UseGetMethod = false so it uses POST method.

Submitting to cyberosurce endpoint always fails because of invalid signature, upon troubleshotting, I found that Acumatica is stripping the = character from the signature when posting to the end point which at the end make signature not matching and cybersource declined the transaciton.

And cybersource won’t accept URL encoded signature and it fails as well

I did PxTrace logging and made sure that correct signature is generated but when Acumatica post it it remove the = character

Is there anyway to prevent Acumatica from removing special characters?

 

            nvc.Add("signature","Zo5Aex/AQRwcZ1zJ9HPeZyzwZ5kms5hYZwsHQeHvFSI=");
return new HostedFormData()
{
Caption = "Pay Using Credit Card",
Url = EndPoint,
UseGetMethod = false,
Parameters = nvc
};

The above signature in the code at the end posted as:

Zo5Aex/AQRwcZ1zJ9HPeZyzwZ5kms5hYZwsHQeHvFSI

missing the = at the end, this form post directly to cybersource endpoint and get rejected

Be the first to reply!

Reply