Я слонялся здесь и получил большинство своих ответов, когда пробираюсь через этот новый инструмент, но сейчас я застрял и нуждаюсь в каком-то прямом совете.
Функция Gather в Studio не совместима с PCI, поэтому мне нужно переключить свой вызов на функцию и вернуть проанализированные данные - я наконец-то понял, как это сделать - однако я обнаружил, чточто я не могу вызвать веб-службу, находящуюся в одной функции, и мне пришлось отправить with event.Digits другой функции, чтобы вызвать веб-службу моему провайдеру токенов.Это работает, однако это привело к странному результату: мой токен считывается как TTS, а затем звонок прерывается.У меня нет действия TTS в игре.Ниже приведены мои наборы кода:
Начальная функция, вызванная из Studio:
const got = require('got');
exports.handler = function(context, event, callback) {
let twiml = new Twilio.twiml.VoiceResponse();
twiml.gather({
input: 'dtmf',
finishOnKey: '#',
timeout: 10,
action: 'paymenttest',
method: 'GET'
}).say('Enter CC');
console.log(twiml);
callback(null, twiml);
};
Это успешно вызывает мою функцию с введенными цифрами:
const got = require('got');
exports.handler = function(context, event, callback) {
let twiml = new Twilio.twiml.MessagingResponse();
const url ='my payment gateway' + event.Digits + '&EXPDATE=1220&CARDTYPE=VI';
got.get(url, {
headers: {
'content-Type': 'application/x-www-form-urlencoded'
}
}).then(function(response) {
// Check the response and ask your second question here
event.callback(null, response.body);
}).catch(function(error) {
// Boo, there was an error.
callback(error)
});
};
Это успешно возвращаеттокен .... но, как упоминалось ранее ... он зачитывается мне обратно, а не включается в данные, возвращаемые обратно в Studio.