סליקת אשראי בAPI בימות המשיח עם הספריה yemot-router2
-
אני מנסה לבצע סליקת אשראי בימות המשיח מהספריה yemot-router2, ואני לא מצליח לקבל את התגובה החוזרת מימות המשיח, ובטלפון זה פשוט ממשיך מיד בסיום הקשת תעודת הזהות, ומשמיע את ההודעה "סליקת האשראי הסתיימה".
בתיעוד הספריה מופיע כך:
send(data)
ניתן להשתמש במתודה זו כדי לשלוח סטרינג חופשי לחלוטין, לדוגמה עבור פונקציונליות שעדיין לא נתמכת בספרייה.
במתודה זו יש להעביר את הסטרינג בדיוק כפי שמעוניינים שהשרת של ימות יקבל אותו, והוא לא עובר ולידציה או עיבוד.
כדי להשתמש לבקשת מידע - לדוגמה מעבר לסליקת אשראי, יש לשלב עם קריאות ל
await call.blockRunningUntilNextRequest();
const payment = await call.send(`credit_card=yaad_pay,120,,1,1,,c822d035,765656546,654665,all,,,,,GoBack,`); // CreditCard_CODE=GoBack&CreditCard_All=GoBack const paymentWait = await call.blockRunningUntilNextRequest(); console.log('payment:'); console.log(payment); console.log('paymentWait:'); console.log(paymentWait); await call.id_list_message([{ type: 'text', data: 'סליקת האשראי הסתיימה' }], { prependToNextAction: true }); return true;בלוג לא מופיע בכלל פלט:
card-ivr | payment: card-ivr | undefined card-ivr | paymentWait: card-ivr | undefinedנ.ב. בכלל אני לא יודע אם הפרמטרים של שם המשתמש והסיסמה בחברת האשראי מוגדרים נכון - לא מופיע בתיעוד של ימות המשיח איפה בדיוק צריך לשים כל דבר, אבל כל דבר בעיתו.
-
אני מנסה לבצע סליקת אשראי בימות המשיח מהספריה yemot-router2, ואני לא מצליח לקבל את התגובה החוזרת מימות המשיח, ובטלפון זה פשוט ממשיך מיד בסיום הקשת תעודת הזהות, ומשמיע את ההודעה "סליקת האשראי הסתיימה".
בתיעוד הספריה מופיע כך:
send(data)
ניתן להשתמש במתודה זו כדי לשלוח סטרינג חופשי לחלוטין, לדוגמה עבור פונקציונליות שעדיין לא נתמכת בספרייה.
במתודה זו יש להעביר את הסטרינג בדיוק כפי שמעוניינים שהשרת של ימות יקבל אותו, והוא לא עובר ולידציה או עיבוד.
כדי להשתמש לבקשת מידע - לדוגמה מעבר לסליקת אשראי, יש לשלב עם קריאות ל
await call.blockRunningUntilNextRequest();
const payment = await call.send(`credit_card=yaad_pay,120,,1,1,,c822d035,765656546,654665,all,,,,,GoBack,`); // CreditCard_CODE=GoBack&CreditCard_All=GoBack const paymentWait = await call.blockRunningUntilNextRequest(); console.log('payment:'); console.log(payment); console.log('paymentWait:'); console.log(paymentWait); await call.id_list_message([{ type: 'text', data: 'סליקת האשראי הסתיימה' }], { prependToNextAction: true }); return true;בלוג לא מופיע בכלל פלט:
card-ivr | payment: card-ivr | undefined card-ivr | paymentWait: card-ivr | undefinedנ.ב. בכלל אני לא יודע אם הפרמטרים של שם המשתמש והסיסמה בחברת האשראי מוגדרים נכון - לא מופיע בתיעוד של ימות המשיח איפה בדיוק צריך לשים כל דבר, אבל כל דבר בעיתו.
@ענן אתה לא משתמש נכון עם call.blockRunningUntilNextRequest(),
הפונקציה call.blockRunningUntilNextRequest() עוצרת את הריצה עד לקבלת התגובה מימות המשיח, אבל היא עצמה (וכן הsend) לא מחזירים ערך כלשהו, אלא לאחר קבלת התגובה מימות המשיח (מיד לאחר שהקוד ימשיך את השורה שאחרי call.blockRunningUntilNextRequest) הערכים יהיו זמינים בcall.values
תנסה את זה ככה:
call.send(`credit_card=yaad_pay,120,,1,1,,c822d035,765656546,654665,all,,,,,GoBack,`); await call.blockRunningUntilNextRequest(); console.log('payment response:'); console.log(call.values); console.log('CreditCard_CODE:', call.values.CreditCard_CODE); console.log('CreditCard_All:', call.values.CreditCard_All); await call.id_list_message([{ type: 'text', data: 'סליקת האשראי הסתיימה' }], { prependToNextAction: true }); return true;הוספתי לך גם פלט של CreditCard_CODE וCreditCard_All שהם הפרמטרים הרלוונטיים שחוזרים מימות המשיח, CreditCard_CODE הוא סטטוס העסקה וCreditCard_All מכיל את המידע שימות המשיח קיבלו מחברת האשראי (כי הגדרת all)