Closed voiceactivity closed 3 years ago
Hi @voiceactivity ,
I would need to reach out to service team to figure out whether Connections.Response is sent back to your skill endpoint when users say 'no'. Could you please provide us with the skillId ?
Thanks, Shen
Sure: amzn1.ask.skill.03f7a015-354f-4659-92a9-48b822c29556
Thanks a lot for a super quick response!
Hi @voiceactivity ,
It seems the service team already know this issue and they are work on it. I will keep posting updates here.
Thanks, Shen
Perfect! Thank you.
Hi @voiceactivity ,
I heard from service team that the issue should be resovled now. Could you please try and let us know if it is fixed ?
Thanks, Shen
It works! Appreciate your help Shen and the Service team of course 👍
Thanks, Paul
I have a problem with the Spanish version of the Alexa skill that uses ISP: Connections.Response (Buy|Upsell) with "purchaseResult":"DECLINED" never received for es-ES, es-US locales
Expected Behavior
The skill with ISP support for es-ES, es-US locales should receive and handle the Connections.Response (Buy|Upsell) with "purchaseResult":"DECLINED" to gracefully handle the case when a subscription been declined by user.
Current Behavior
The skill sending Buy | Upsell requests like this:
return handlerInput.responseBuilder .addDirective({ type: "Connections.SendRequest", name: "Buy", payload: { InSkillProduct: { productId: "amzn1.adg.product.0c...", }, upsellMessage: "Acceso Premium es gratis durante 14 días . Después se te cobrará €0,99 al mes...?", }, token: "correlationToken", }) .getResponse();
When a user's reply is 'Si' (yes), then the skill receives the response as it should:
"request": { "type": "Connections.Response", "requestId": "amzn1.echo-api.request.ac...", "timestamp": "2020-12-02T05:05:56Z", "locale": "es-US", "status": { "code": "200", "message": "OK" }, "name": "Buy", "payload": { "purchaseResult": "ACCEPTED", "productId": "amzn1.adg.product.0c..." }, "token": "correlationToken" }
But, when a user's reply for the Buy prompt is 'No', then no Connections.Response received at all. As a result a skill handler cannot handle the response for the "purchaseResult":"DECLINED". Instead, the upsell re-prompt spoken again and again. E.g. A: Acceso Premium es gratis durante 14 días . Después se te cobrará €0,99 al mes...? U: No A: Acceso Premium es gratis durante 14 días . Después se te cobrará €0,99 al mes...? U: No A: Acceso Premium es gratis durante 14 días . Después se te cobrará €0,99 al mes...? U: No ...
Interestingly enough that the same code works for all English locales. In fact I have a few skills with ISP (en) and I never had a problem like this one.
To summarize, the skill never receives back the Connections.Response with "purchaseResult":"DECLINED" for 'Buy' with 'es' locales. But the Connections.Response with "purchaseResult":"ACCEPTED" received and handled. The same functionality works as expected for all 'en' locales.
Also I've noticed that if a subscription already purchased and then you could try unsubscribe the "purchaseResult": "DECLINED" returned successfully!!!
"request": { "type": "Connections.Response", "requestId": "amzn1.echo-api.request.7f...", "timestamp": "2020-12-02T05:07:16Z", "locale": "es-US", "status": { "code": "200", "message": "OK" }, "name": "Cancel", "payload": { "purchaseResult": "DECLINED", "productId": "amzn1.adg.product.0..." }, "token": "correlationToken" }
Actually, the skill failed the certification for this very reason.
Environment
Node.js and NPM Info