מנגנון מניעת הונאות יציאה לדף תשלום
כללי
- מנגנון זה בא למנוע את שינוי בקשת הסליקה אל דף התשלום
- מנגנון זה רלוונטי לפרוטקול Pay בלבד
- לצורך הפעלת מנגנון זה על המסוף שלכם יש לפנות לתמיכה
דוגמא לבקשת תשלום פרוטקול pay
<form action="https://icom.yaad.net/p/" method="get" ><!-- URL YAADPAY --> <!--Must--> <input type="hidden" name="action" value="pay"> <input type="hidden" name="Masof" value="0010020610"> <input type="hidden" name="Info" value="test"> <input type="hidden" name="Amount" value="100"> <input type="hidden" name="UTF8" value="True"> <input type="hidden" name="UTF8out" value="True"> <input type="hidden" name="PassP" value="1234"> <input type="text" name="ClientName" value="Michael"> <input type="text" name="ClientLName" value="Isarel"> <input type="text" name="street" value="levanon 3"> <input type="text" name="city" value="netanya"> <input type="text" name="zip" value="42361"> <input type="text" name="cell" value="0506400013"> <input type="text" name="email" value="avi@yaad.net"> <input type="hidden" name="Order" value="12345678910"> <input type="hidden" name="Tash" value="1"> <input type="hidden" name="FixTash" value="True"> <input type="hidden" name="Postpone" value=""> <input type="hidden" name="Sign" value="True"> <input type="hidden" name="MoreData" value="True"> <input type="hidden" name="sendemail" value="True"> <input type="hidden" name="Coin" value="1"> <input type="hidden" name="SendHesh" value="True"><!-- email חשבונית תישלח למייל הלקוח בפרמטר --> <input type="submit" value="pay"> </form>
תחילה יש למיין ולסדר את הפרמטרים לפי {A-Za-z}
דוגמא
Amount=100&ClientLName=Isarel&ClientName=Michael&Coin=1&FixTash=True&Info=test&Masof=0010020610&MoreData=True&Order=12345678910&PassP=1234&Postpone=&SendHesh=True&Sign=True&Tash=1&UTF8=True&UTF8out=True&action=pay&cell=0506400013&city=netanya&email=avi%40yaad.net&sendemail=True&street=levanon%203&zip=42361
מפתח חתימה לדוגמא :
7110eda4d09e062aa5e4a390b0a572ac0d2c0220
SHA256 – המפתח המשותף מוצמד לתחילת ההודעה ולהכל עושים Hash
HMAC256 – פרוטוקול שמקבל מידע ומפתח וחותם עליו עם SHA256
שים לב שלשדות החופשיים אנו מבצעים escape לפני השליחה
הדמיה באמצעות מחשבון Hash
ערך החתימה :
2c2d107528e9ccc26d00de8056e3c47f70e7c0d409a0728deb06e58264299aa2
אותו יש לשלוח בזמן בקשת התשלום תחת הפרמטר
signature=2c2d107528e9ccc26d00de8056e3c47f70e7c0d409a0728deb06e58264299aa2
דוגמא לבקשת תשלום כולל חתימה על פרמטרים :
<!--Optional for refer--> <form action="https://icom.yaad.net/p/" method="POST" ><!-- URL YAADPAY --> <!--Must--> <input type="hidden" name="action" value="pay"> <input type="hidden" name="Masof" value="0010020610"> <input type="hidden" name="Info" value="test"> <input type="hidden" name="Amount" value="100"> <input type="hidden" name="UTF8" value="True"> <input type="hidden" name="UTF8out" value="True"> <input type="hidden" name="PassP" value="1234"> <input type="text" name="ClientName" value="Michael"> <input type="text" name="ClientLName" value="Isarel"> <input type="text" name="street" value="levanon 3"> <input type="text" name="city" value="netanya"> <input type="text" name="zip" value="42361"> <input type="text" name="cell" value="0506400013"> <input type="text" name="email" value="avi@yaad.net"> <input type="hidden" name="Order" value="12345678910"> <input type="hidden" name="Tash" value="1"> <input type="hidden" name="FixTash" value="True"> <input type="hidden" name="Postpone" value=""> <input type="hidden" name="Sign" value="True"> <input type="hidden" name="MoreData" value="True"> <input type="hidden" name="sendemail" value="True"> <input type="hidden" name="Coin" value="1"> <input type="hidden" name="SendHesh" value="True"><!-- email חשבונית תישלח למייל הלקוח בפרמטר --> <input type="hidden" name="signature" value="2c2d107528e9ccc26d00de8056e3c47f70e7c0d409a0728deb06e58264299aa2"> <input type="submit" value="pay"> </form>
במידה והופיע דף התשלום החתימה בוצעה בהצלחה במידה ולא היוזר יקבל שגיאת אימות!
במסופי טסט בלבד במצב פיתוח המערכת תציג את השדות אשר חותמים עליהם , את המפתח ואת החתימה
במידה ובוצע שגיאה בחתימה.