Send SagePay "DeliveryFirstnames" and "DeliverySurname" - opayo

I have recently integrated SagePay and I need help sending over some extra variables such as the DeliveryFirstname and DeliverySurname...
I am sending everything else i.e. Delivery Address Line 1, Address Line 2, Town and Postcode however, Delivery First and Last Name does not show up when I am redirected to the Sage Pay website even though I am sending through the data? Why would this be?
http://i.imgur.com/3BpoKbp.png

You could try modifying the template (card_confirmation.xslt).
I tried it using the Custom Templates download and managed to get it to show - had to edit the cardconfirmation.xml and i18n files too.
Not sure if it would work in live, though - you'll have to give that a try!

Related

SagePay Server Integration

I'm integrating SagePay Server and am stuck at step 4 here: https://developer-eu.elavon.com/docs/opayo-server/taking-payments
I get this error: Server error 5006: Unable to redirect to Vendor's web site. The Vendor failed to provide a RedirectionURL.
I know there are quite a lot of suggestions for this error out there. That it basically means there is something wrong with your code on the Notification URL.
I know it is completing the previous steps fine (I get the correct response parameters), I have made sure Opayo's IPs are allowed, the MD5 signatures match.
I think the problem is how I am "Responding to the Notification Post".
I am doing a standard WebRequest to send our RedirectUrl to SagePay - but the link here - SagePay RedirectURL failure - suggests it doesn't need that. Rather I should just "write to the simple Response object." The trouble is, I don't know what they mean by that.
Any help / experience with this, much appreciated.
Jon
I hope this answer isn't too late to be useful to you.
You're suffering from the main issue I've always had with Opayo (formerly SagePay) - namely that their integration guides for developers are terrible.
As the Opayo Server integration method is identical to the old SagePay version, I found it helpful to follow the much more in-depth instructions from before they rebranded. You can find those instructions here:
https://www.opayo.co.uk/file/12246/download-document/SERVER_Integration_and_Protocol_Guidelines_010814.pdf
In answer to your specific question, you can refer to page 68 of the above PDF guide. RE: You acknowledge receipt of the Notification POST, quote, "This is the plain text response part of the POST originated by the Server in the step above. Encoding must be as Name=Value fields separated by carriage-return linefeeds (CRLF)."
Literally, your script just has to print or echo something along the lines of:
Status=OK\r\n
StatusDetail=Hashes match - proceeding\r\n
RedirectURL=https://www.yoursite.com/endpointpage/
Or the equivalent for errors, aborts, etc.
Bear in mind that any output not formatted like the above will break the foldback process, so you must supress any errors or warnings your script might generate (ideally capturing them in a log or some other way).
Opayo give you basically no help in bugfixing, so if you continue to encounter errors you pretty much have to work in the dark.

Google play Console: Property incorrect_psl_declaration.TITLE not found

I just pushed my new updates on play store and all over sudden am getting this error, I have tried to research online for answers but I get non, any help what this error means and how to fix it?
Any help and guidance on how to fix this is highly appreciated
I'm glad to see others have been impacted and it was not just me!
It seems to be a bug with the Google review system. Best thing to do is contact them via the link to their form in the footer of the email you received.
Update 2:
I did not take any action and passed the review process today.
Update 1:
I received the reply I have screenshot below, which does not help much. I asked what the notification was about and he did not address the issue at all, so now I don't know what to do. However he did confirm that my app was currently in the review queue, so maybe we just need to wait. Maybe the email notification with errors can be ignored. I will wait a few days to see if my app passes review without taking any further action.
I've just updated my Data Safety forms adding Device or other identifiers because my app request Ad Id, BSSID etc.
I've faced the same issue, and the solution is :
You need to check if you're using third-party libraries (in my case, IronSource and AdMob) that collect the user data.
If you're using IronSource you need to fill the Data Safety from here :
https://developers.is.com/ironsource-mobile/general/google-data-safety-questionnaire/
After you fill the Data Safety, hit the save button and wait for the review to complete.

SagePay V4.0 CHALLENGE has stopped working for me

I am working on a c# service that uses the V4.0 protocol of sagepay. I am trying to simulate a 3DAUTH request by passing in CHALLENGE as the Cardholder name.
It was working fine earlier this week but today the response status returned is OK and the 3DSecureStatus is ERROR.
Looking at the test MySagePay Fraud Results screen, there is a red shield with the message "The Authentication callback message was Malformed..."
I have set the ThreeDSNotificationURL to a page that doesn't exist but could the error be Sage is somehow trying to validate this page?
I was expecting a status response of "3DAUTH".
Any help greatly appreciated including any tips on getting more info from the mysagepay console error.
this is part of the message I am sending in
&ThreeDSNotificationURL= http://test.somepage.com/testpage.aspx
&UseDefaultValues=True
&BrowserAcceptHeader=Unknown
&BrowserLanguage=en-GB
&ChallengeWindowSize=03
&BrowserJavascriptEnabled=1
&BrowserJavaEnabled=1
&BrowserColorDepth=16
&BrowserScreenHeight=800
&BrowserScreenWidth=1500
&BrowserTZ=-60
&VPSProtocol=4.00
&TxType=PAYMENT
&Vendor=mycompany
&Currency=GBP
&ClientIPAddress=127.0.0.1
&BrowserUserAgent=Unknown
&Apply3DSecure=0
thanks
I think it (the test sandbox) is working again now.
You need the ThreeDSNotificationURL. This is the page the bank posts back to after the challenge.
There you have to get the post values for cres, VPSTxID and threeDSessionData from the form and post them to SagePay. Then handle the SagePay response to find out if the payment was successful or failed or if an error occured.
We have the same issue. Our code was working fine. We would pass "CHALLENGE" as the CardHolder and we would get the expected status but, at some point, we started receiving "3DSecureStatus=ERROR".
Has anything changed with the sandbox?
Seems to be working again now. Getting this response
VPSProtocol=4.00
Status=3DAUTH
StatusDetail=2021 : Please redirect your customer to the ACSURL, passing CReq.
VPSTxId={2FD68707-9DDC-76B8-2002-FBAE65F}
3DSecureStatus=OK
ACSURL=https://test.sagepay.com/3ds-simulator/html_challenge
CReq=ewogICJtZXNzYWdlVHlwZSIgOiAiQ1JlcSIsCiAgIm1lc3NhZ2VW
Must have been a blip on the test site. Be good to know if Sage post release notes for these instances so deployment history can be tracked.
For info, you don't need a valid ThreeDSNotificationURL when posting using Cardholder=Challenge.
Thanks all

Google Drive API Console: Error saving Drive UI integration page

I have a webapp in production that interacts with Google Drive through Google Drive API.
I need to change some settings in Drive interaction but I can't save.
When I save the Drive UI integration page, I receive this error:
There's a problem at our end.
Please try again. If the problem persists, please let us know using
the "Send feedback" link below. Thanks!
(spying Network console: there is an Internal Server Error in a POST call)
I tried to send feedback for months: nobody answers and the bug is still there.
I tried also to create another project: I can save the first time but then the bug returns.
How can I do? Has someone the same problem?
Is there a way to receive a reply from Google? Is there some workaround?
Thank you.
i think that problem must be Client ID
before adding Client ID, go to the Credentials -> OAuth 2.0 Client IDs
then select edit your Client ID. after that your production site url add to Authorized JavaScript origins and Authorized redirect URIs.
then enter your Client ID in Drive UI integration page
For myself trying to get the Drive UI configured I noticed a couple of errors (that don't have any specific error messages)
When adding in an Open URL it has to be a valid domain, so for instance I tried to test it out with local host, to no avail. However something like https://devbox.app.com worked, but something like https://localhost:8888 does not. Even though https://localhost is a valid javascript origin in the client_id configuration (at least for the app I am working on, not sure about other apps), localhost doesn't work as an open URL.
When adding in the mimeTypes it needs to be in the format */* and can include custom mimeTypes like application/custom+xml and application/custom-name+json not sure for other custom types that are not in a particular format like xml or json. Also not sure about wildcards.
When adding in file extensions do not add in the '.' just the name of the file extension.
The app icon I found only failed to upload the image when the image wasn't the exact dimensions, I actually ended up editing some icons in photoshop to change the pixel x pixel values as a quick work around during dev.
That worked for me to get it to save and I tested it with a file that had a custom mimeType (application/custom-name+xml specifically) and custom file extension!

Error: 5080 : Form transaction registration failed - tried previous answers

I have searched the answers to similar questions asked about this SagePay error, and checked that the fixes don't appear to apply to my problem.
Specifically:
I am using a correct 2-letter country code for BillingCountry and DeliveryCountry.
I am POSTing VPSProtocol, TxType and Vendor as well as the Crypt value.
I have re-checked that I am using the correct encryption key from the MySagePay test portal.
Now I was using http://localhost:8084/app/success and http://localhost:8084/app/failure for my success and failure URLs, since I thought that although these are (obviously) not visible externally, it shouldn't matter since SagePay is re-directing at the end of its part of the transaction. (Is this assumption correct, or do these URLs need to be externally accessible?) Some of the answers have thrown doubt on this, so I changed them to an external website I own, and I still get the same error.
Another line of thought is that the client I am developing for has already gone live, and there seem to be hints that once you have gone live, you no longer have access to the test server (Is this true?)
Is there anything else I should be checking? (Additional info: I'm using the SagePay api (sagepay-api-1.2.2.0.jar and related libraries) to validate the form contents and encrypt them.
I used the integration from https://github.com/tolzhabayev/sagepayForm-php
I had this error (5080) and spoke to SagePay support and they guided me to the MySagePay portal where you can view Invalid transactions to be able to troubleshoot this error easily!
Hope this helps someone.
Chris Rickards
I had exact same problem and I tried everything that you described as well, one day after I found that the problem was in "VendorEMail" field, it had 2 email addresses separated by ;, once I removed second and left only one email everything worked.

Resources