Can tokenized payments be tested for chatbot not yet accepted into beta program? - facebook-messenger

I am prototyping a chatbot which will utilize payments. Facebook's documentation for testing payments seems contradictory:
https://developers.facebook.com/docs/messenger-platform/complete-guide/payments#test_payments
Section title implies that testing the payment feature only works for 'Buy Button' integrations. Then at the end of the section is says:
"If you have not been accepted to beta program yet, the test payment feature currently only works for tokenized payments."
I've managed to get the 'Buy Button' integration to work and successfully received the 'payment' callback on the web hook. But, when I attempt a tokenized payment via a webview I get the following error without any callbacks to the webhook:
"Request Not Completed" popup
"A temporary problem occurred when trying to complete your request. Please try again later."
Is this expected to work?

Related

Test Suite for Smart Home don't execute action

I am trying to execute Test Suite to certify, but I receive an error when executing the action. I can't find anything in the Google Cloud log. Everything works fine using Google Assistant on my phone and Nest.
enter image description here
A 503 error code means that the requested service is temporarily unavailable at the moment. You can wait for some time before trying again & make sure that your Smart Home Actions are linked with an account & testing is enabled for your actions. For instructions on how to set up your account for testing, check this link.
If the issue still persists, open up a ticket on our Public Issue Tracker.

Google Action does not have trained NLU model (No trained NLU model found.) [duplicate]

We are developing boot using Actions on google SDK, we migrated our dev project UAT and all of sudden its stoped working. Previously we are using same approach and its working every time. Bot respond once for initial phrase after that it stop responding. it say Sorry, [Bot name] is not responding. Please try again later. After tracing the logs we found its sending below error. Please guide us what is wrong with our approach.
{
labels: {3}
type: "assistant_action"
}
severity: "ERROR"
textPayload: "No trained NLU model found."
timestamp: "2022-02-17T12:00:35.499117218Z"
trace: ""
}
This issue resolved now, Google resolved this issue we need to follow these steps. Open your project-> Go to Main invocation-> Edit it by adding prompt message->Save the changes-> Now NLU model trining in progress will show up at bottom, wait until its execution end. -> After that try testing your action, it will work Please see this for more

Alexa test ISP with lambda-local

I'm trying to create my first Alexa skill with In Skill Purchasing (ISP), and having issues testing consistently locally.
When I copy my JSON Input from the "Alexa Console > Test" area and run the same request using lambda-local in vscode, it often works a few times but inevitably I end up getting the following response:
ServiceError: The authentication token is invalid or doesn't have access to make this request
at MonetizationServiceClient.<anonymous> (<my_path>/lambda/custom/node_modules/ask-sdk-model/index.js:149:35)
Sometimes I get the response the first try, sometimes after 2 or 3 attempts.
I'm testing with an amazon.com account using a US based address as recommended, and I'm using en-US locale, so why do I keep getting this error message that my authentication token is invalid?

Alexa testing invocation name - failed submission

I have got a question on testing the invocation of a custom skill in Alexa.
My invocation name is let's say "merry christmas", if I type or speak it in the test section of Alexa Skills creation, LaunchRequest is triggered and conversation starts.
As soon as I submit the skill for certification, Amazon is correctly testing it with a phrase like "Alexa, launch merry christmas". In this case the LaunchRequest is not triggered.
How can I test the whole invocation name in the console? Is there any way to debug why the LaunchRequest is not triggered? Does it trigger a different intent rather that "LaunchRequest"?
Thanks
I do not believe there is a way to test the complete invocation phrase.
To try and debug this issue you should log your request at the app root where the request comes in, before your intent handlers are executed. This will let you see if you are receiving any request at all, and if so what it is instead of a LaunchRequest.

Unsure on how to solve a "termsOfServiceNotAccepted" Error

Background:
So I'm a novice to the whole app engine thing: I have made an app on google app engine that on the main page accepts user input and then sends the information to a handler that then uses the Big Query API to run a synchronous query with some tables I have uploaded to Big Query. The handler then sends back the results of the query as a json.
Problem:
In deployment it works mostly except sometimes a user can often run into this error while trying to make the synchronous query:
Error in runSyncQuery:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "termsOfServiceNotAccepted",
"message": "BigQuery Terms of Service have not been accepted"
}
],
"code": 403,
"message": "BigQuery Terms of Service have not been accepted"
}
}
After doing some searching I com across this:
https://groups.google.com/forum/#!msg/bigquery-announce/l0kwVNpQX5A/ct0MglMmYMwJ
If you make API calls that are authenticated as an end user, then API calls will soon return errors when the end user has not accepted the updated Terms of Service. Apps built against the BigQuery API should ideally look for those errors and direct the user to the Google APIs Console to accept the new terms.
Except I dont really understand how to do this.
Also all the potential user accounts that I have tested my app with have access to a specific project that has Big Query API enabled, and can use the API so why does this pop up?
Also there are times when a specific account does not run into this problem. For instance if I keep refreshing and retrying to use the app eventually it will not have this problem and work. But then the next time this error will resurface again.
I don't understand how a user can have accepted the terms of service at one point of time and then not another at some point in the future?
Yes, any end users who authorize access to the BigQuery API must accept the Terms of Service (ToS) provided by the Google Developers Console at https://developers.google.com/console
It is possible that Terms of Service can change, and that some of your project members have not yet accepted updated BigQuery ToS. If one of your users is receiving this message when authorizing access to the BigQuery API, you redirect them to the https://developers.google.com/console to accept the terms of service.
Re: "specific account does not run into this problem" - can you confirm this is happening consistently with a specific account on a specific project?

Resources