I am integrate google checkout for payment.every thing going in perfect way,but at last
in response handler,response of order coming repetitively. i had try to many things but i unable to find that how to stop "repetitively response. "
because of this size of file
'googlemessage.log' increases every time.
$Gresponse->SendAck(null, false);
but this can's help me.
You need to acknowledge each notification with a HTTP 200 response code and the serial number of the notification:
http://code.google.com/apis/checkout/developer/Google_Checkout_XML_API_Notification_API.html#responding_to_notifications
Google Checkout will try to resend the notification for up to 14 days or until you acknowledge it.
Related
If I make a request to the gmail API for Users.messages.list it will return 100 of the newest messages.
If I make another request, 1 minute later and there are no new emails it will return the same 100 most recent messages.
If I make a third request, 2 minutes after the original and there is a reply to one of the 100 most recent messages it will still return the 100 most recent messages.
The problem with this is the it only returns the message id and thread id, not if there is a new reply or not. That would mean that I would have to check every message that I have locally stored, or every one of the 100 returned messages just to know if there was a reply to it or not.
The way that works, you couldn't "check" your email via the api because if you had stored 10000 messages and you were checking replies on all of them you would use up your entire API "number of requests" allocation in a single day!
What's wrong with you Google?
Sure I could use pop3 or imap but why when I could just use something like /list_recent?
You should definitely take a look at this part of the Gmail API documentation: https://developers.google.com/gmail/api/guides/push
Basically, it explains you how you can setup a "watch" over a Gmail account and receive notifications (new e-mail, deleted e-mail, labels added...) through Pub/Sub, the messaging queue protocol from Google.
The notifications will contain an historyId, which is a kind of milestone in the Gmail account. Using the /history endpoint, you'll then get the e-mails that were added and/or deleted since this history point. You have to store the latest historyId you handled somewhere in your app, so that you can query the right changes (and not miss anything) on the next notification.
If you don't need to react to changes in real-time, maybe you can call the /history endpoint periodically, but it will definitely be less efficient at scale.
It takes a bit of work to get this working but at the end of the day you get a very efficient system able to react about changes in real-time.
I set up a basic Twilio app 2 weeks ago that receives certain keywords and returns relevant info.
This was all working fine until a day or so ago, now if I send a message I get no reply. Yet when I check my twilio log it shows the message being received and the reply as being sent (and Im being billed for the replies).
If I open the relevant webpage and send the data across manually I get the response expected so I know the code behind is doing as it should. Plus as I say, this was working and suddenly stopped without any changes to code taking place.
Any thoughts would be appreciated.
I am trying to send push messages to an android application.
The POST https://android.googleapis.com/gcm/send
seems to succeed and I get something (with some numbers changed) like:
{"multicast_id":9999063399994069899,
"success":1,
"failure":0,
"canonical_ids":0,
"results":[{"message_id":"0:1416520599679103%8d7d198de508343a"}]}
but I don't seem to get the notification on the device...
Is there anything that can be done with the message_id it track it forward ?
Can I somehow tell me if Google actually tired to deliver it to the device and what was the result of the attempt?
I know it's an old question and you might have solved it yourself by now, but for completeness I would like to post a solution here.
By now you can find the option GCM Diagnostics in your Google Play Developer Console when you have your app selected. It's placed on the left hand side.
You just post a registration token or a message id and will shortly see a summary of push notifications connected to this token/id, plus additional debug information.
Cheers!
well, at least until someone would provide a better answer about debugging based on message ids.
It turns out the problem in my case was that the phone gap plugin in I was using was expecting a "message" field in the push notification message payload.
A bug on my server side made this message not to exist so it was not displayed in the phones notification area...
my thanks to #Eran for partially pushing my towards the right line of thought.
I'm using Server/InFrame integration, and according to Sagepay support, there are (rare) occasions when we get a notification about a successful payment (via an OK status), but this is then later failed. This can happen, according to Sagepay support, when they haven't been able to contact the bank properly.
I'm unable to find details about this in the documentation at http://www.sagepay.co.uk/file/1161/download-document/SERVERProtocolandIntegrationGuidelinesV3%200.pdf?token=0eZCcKj0tm33YeZ4gfrk4pHPaLClQnRcq3_vXsISjHI . The closest thing I see is in Step 12,
when SagePay sends batch files to the bank
If transactions are rejected, we correct any errors and resubmit them for you.
What happens, in terms of status codes sent to the notification url, in a case when this batch fails, or there is some other error after the "OK" is sent to the notification url? Is there any official documentation to handle this case, or similar cases when a payment is "OK", but then later fails?
Edit: I'm seeing that the simulator doesn't seem to handle this case either. Is there a way to properly test/simulate this case, when OK is sent, but then later failed?
The only reason you would receive a mixed message, such as Error/Failed on My Sage Pay but OK via Notification URL, is if an error occured during the notiication which returned an error/invalid response.
If the notification response via the Notification URL is interrupted i.e. browser refresh/closed etc Sage Pay may pick this up as error after the authorisation from the bank has been received as OK. We will then send Error via Notification URL to confirm the transaction has failed.
We'll send the notification several times until we receive a successful response/handshake from you in which you confirm the Status, StatusDetail and RedirectURL.
This scenario does not occur often however if you are able to provide a TXID example, our contact details can be found via http://www.sagepay.co.uk/contact, within 72 hours of the transaction being posted, we can investigate the reason for failure against the transaction logs.
Sage Pay Support
How is dead device identification done in windows phone when we make use of micosoft push notification service? Does mspn store information about such devices? Is it possible for an application to retrieve the list?
Uri Channels can expire. This is why you should regularly check and refresh them from the client.
If the channel is no longer valid (as will happen when the app isn't used for a long time and the URI expires) you'll get an error in the repsonse when you try and send the message.
You shoudl use this method to detect URIs that are no longer valid.
There is no way to get a list of URIs that are no longer valid or to test validity without sending a message.
There is no way to ask the server for any expired notification channels however if you look t the response codes coming back from the MS services when you're attempting to send a notification (from your server) you'll be able to determine if the channel has expired. If you look at Push Notification Service Response Codes for Windows Phone you'll note that basically if you get a 404 Not Found back from the service then the channel has been expired and you should stop sending to it. It's worthwhile handling the other cases as well. Eg. Handling 200 OK / QueueFull messages correctly allows you to lighten the workload on your server by pausing notifications for that subscription for a period of time.