עצות לפתרון בעיות בנושא קישורים ולחצנים לתשלום של PayPal
מופיעה שגיאה, והלחצן לא מופיע באתר שלי.
- יש לוודא שהחיבור שלך לאינטרנט פועל.
- יש לבקר בדפים אחרים באתר שלך ולוודא שהם נטענים כראוי.
- יש לעבור אל דף לחצני PayPal ולבדוק:
* האם הלחצן מופיע תחת 'לחצנים שמורים'?
* יש לבחור באפשרות עריכה ולוודא שקוד הלחצן תואם למה שמופיע באתר שלך. - יש ללחוץ לחיצה ימנית על דף המוצר (שבו הדבקת את קוד הלחצן) וללחוץ על 'בדיקה'. יש לעבור לכרטיסייה 'מסוף' (מופיעה בחלק העליון). ייתכן שיופיעו שגיאות קוד סודי של שירות לקוחות (CSP). אם הטמעת מדיניות אבטחת תוכן, ייתכן שיופיעו שגיאות CSP כגון אלה (שגיאות CSP לדוגמה):
- המערכת סירבה לטעון את הסקריפט 'https://www.paypal.com/sdk/js**', משום שהוא מפר את ההוראה הבאה של מדיניות אבטחת התוכן: "default-src 'self'". שים לב ש-'script-src-elem' לא הוגדר במפורש. לכן, המערכת משתמשת ב-'default-src' בתור סקריפט הבסיס.
- המערכת סירבה להתחבר אל 'https://www.paypal.com/**', משום שהכתובת מפרה את ההוראה הבאה של מדיניות אבטחת התוכן: "default-src 'self'". שים לב ש-'connect-src' לא הוגדר במפורש. לכן, המערכת תשתמש ב-'default-src' בתור סקריפט הבסיס.
- המערכת סירבה לטעון את הסקריפט שבתוך התגיות, משום שהוא מפר את ההוראה הבאה של מדיניות אבטחת התוכן: "script-src https://*.paypal.com". כדי לאפשר הרצה של הסקריפט בתוך התגיות, יש צורך במילת המפתח 'unsafe-inline', בקוד hash (כלומר 'sha256-WYDWDPwB8j2VePYrqy38aHPcJLsasO//lnXymmxscUk='), או ב-nonce (כלומר 'nonce-...').
- המערכת סירבה לטעון את התמונה 'https://tracking.qa.paypal.com/webapps/tracking/ts?**', משום שהיא מפרה את ההוראה הבאה של מדיניות אבטחת התוכן: "default-src 'self'". שים לב ש-'img-src' לא הוגדר במפורש. לכן, המערכת תשתמש ב-'default-src' בתור סקריפט הבסיס.
- המערכת סירבה להתחבר אל 'https://www.paypal.com/', משום שהכתובת מפרה את ההוראה הבאה של מדיניות אבטחת התוכן: "default-src 'self'". שים לב ש-'frame-src' לא הוגדר במפורש. לכן, המערכת משתמשת ב-'default-src' בתור סקריפט הבסיס.
אפשר לנסות להוסיף את התוכן הבא כדי לפתור כל אחת מהשגיאות לעיל:
אפשרות 1 (HTML): אם הקוד הסודי של שירות הלקוחות (CSP) שלך מוגדר בקובץ HTML, יש להחליף את קוד ה-CSP שלך בקוד שלהלן
<meta http-equiv="Content-Security-Policy" content="default-src 'self';
script-src 'unsafe-inline' https://*.paypal.com https://*.paypalobjects.com;
style-src 'unsafe-inline' https://*.paypal.com; connect-src
https://*.paypal.com; frame-src https://*.paypal.com; img-src
https://*.paypal.com https://*.paypalobjects.com">
אפשרות 2 (בצד השרת): אם הקוד הסודי של שירות הלקוחות (CSP) שלך מוגדר בצד השרת, יש להחליף את קוד ה-CSP שלך בקוד שלהלן
Content-Security-Policy: script-src 'unsafe-inline' https://*.paypal.com https://*.paypalobjects.com
Content-Security-Policy: style-src 'unsafe-inline' https://*.paypal.com
Content-Security-Policy: connect-src https://*.paypal.com
Content-Security-Policy: frame-src https://*.paypal.com
Content-Security-Policy: img-src https://*.paypal.com https://*.paypalobjects.com
כיצד ניתן לשנות את הפריסה/הגודל/הצבע של שם המוצר/מחירו/ הכמות שלו?
כך ניתן לשנות את הפריסה / הגודל / הצבע של שם המוצר / המחיר / הכמות באתר PayPal
- יש לעבור לדף לחצני PayPal.
- יש ללחוץ על 'פתיחה' לצד הלחצן השמור ולבחור 'עריכה'.
- יש ללחוץ על 'התאמה אישית של הלחצנים' ולבצע את השינויים הדרושים.
ערכתי את פרטי המוצר (שם, כמות או כל דבר אחר); האם עליי
להעתיק/להדביק שוב את קוד הלחצן?
לא, אנחנו לוקחים את כל המידע מהשרת של PayPal. אחרי שמירת השינויים בחשבון שלך, לא צריך לעדכן את קוד הלחצן שהועתק/הודבק של האתר שלך.
הערה: אם שינית את קוד המטבע במוצר שלך, יהיה עליך לעדכן את לחצן התשלום.
מזהה לקוח מופיע בתוך הקוד; מה פירוש הדבר?
'מזהה לקוח' הוא מזהה הלקוח של בעל העסק, והוא חלק מחשבונך. אין לערוך אותו. יש להשתמש בו כפי שהוא מוצע בקוד הלחצן.
הוספתי כמה לחצנים, אבל אף אחד מהם לא מופיע בדף האינטרנט שלי.
בתרחישים הבאים, כמה לחצנים שונים באותו דף אינטרנט לא יפעלו:
- אם העתקת/הדבקת את אותו מזהה לחצן כמה פעמים באותו דף אינטרנט, רק הלחצן הראשון יופיע. לא ניתן לחזור כמה פעמים על אותו מזהה לחצן.
- אם העתקת/הדבקת מזהי לחצנים שונים אבל עם מטבעות אחרים באותו דף אינטרנט, רק הלחצן הראשון יופיע. לא ניתן להוסיף מטבעות זרים בלחצנים באותו דף אינטרנט.
- אם העתקת/הדבקת מזהי לחצנים שונים ונתקלת בהאטה, יש לוודא שתג ה-Script עם מזהה הלקוח נוסף רק פעם אחת. שורת ה-Script תיראה כך:
<script src="https://www.paypal.com/sdk/js?client-id=XYZ&components=hosted-buttons&enable-funding=venmo¤cy=USD"></script>
יש לי חשבון פרימיום של PayPal, והאפשרות קישורים ולחצנים לתשלום
לא מופיעה.
התכונה זמינה רק לחשבונות PayPal עסקיים. כדי להשתמש בתכונה זו, יש לשדרג לחשבון עסקי או ליצור חשבון עסקי.
איך לבדוק חוויה זו ב-PayPal Sandbox?
קישורים ולחצנים לתשלום זמינים לבדיקה ב-Sandbox.
הלקוח שלי אמר לי שהוא לא יכול לראות את כל שיטות התשלום.
שיטות תשלום כגון PayPal, Pay Later (משלמים מאוחר יותר) ו-Venmo תלויות בעמידה בתנאים של מדינת הלקוח.
ההרחבה בתוך השורה של האשראי/חיוב אינה מוצגת במלואה
באתר שלי.
יש לוודא שהרוחב והגובה של מכל האב מוגדרים כך שיתאימו להרחבה בתוך השורה. לקבלת פרטים נוספים, יש לעיין בתיעוד/תמיכה של פלטפורמת האירוח.
האם קישורים ולחצנים לתשלום תומכים ב-IPN (הודעות תשלום מיידי)?
כן. יש לבצע את השלבים הבאים כדי להגדיר ולהפעיל הודעת תשלום מיידית (IPN).
כך אפשר למצוא איך להגדיר IPN ב-PayPal:
- יש לעבור אל הגדרות החשבון.
- יש לבחור הודעות והודעות תשלום מיידיות.
- יש ללחוץ על עדכון קישור.
כך אפשר להפעיל הגדרות של IPN:
- יש להוסיף את כתובת ה-URL של המטפל ב-IPN ולבחור באפשרות קבלת הודעות IPN (מופעל).
- יש ללחוץ על שמירה.
טיפול ב-IPN בקוד השרת שלך:
- בכל השלמה של עסקאות באמצעות קישור ולחצן לתשלום, הודעות IPN של PayPal מפעילות את כתובת ה-URL של ההודעות שהוגדרה בשלב 2.
גישה להיסטוריית IPN::
- https://www.sandbox.paypal.com/merchantnotification/ipn/history
- https://www.paypal.com/merchantnotification/ipn/history
הפניות
מבוא: https://developer.paypal.com/api/nvp-soap/ipn/IPNIntro/
יש להקפיד להשתמש בכתובת URL נכונה של IPN בקוד השרת
- Sandbox https://www.sandbox.paypal.com/cgi-bin/webscr
- מצב 'חי' https://www.paypal.com/cgi-bin/webscr
דוגמאות עבור שפות שונות GitHub - paypal/ipn-code-samples
כאשר לקוח נשלח לדף הניתוב מחדש, איזה מידע על
הרכישה PayPal שולחת? האם קישורים ולחצנים לתשלום תומכים בהעברת נתוני תשלום (PDT)?
אילו משתנים נתמכים?
כן, אנו תומכים במשתנים של העברת נתוני תשלום (PDT) כפי שמתועד כאן. כדי לקבל העברת נתוני תשלום (PDT), יש להפעיל את ההגדרה 'החזרה אוטומטית לאתר' כאשר קובעים את תצורת הקישור לתשלום והלחצן.
האם קישורים ולחצנים לתשלום תומכים באזור מסוים אם הוא נוסף באופן ידני על-ידי
בעל העסק בקוד הלחצן או בקישור לתשלום?
כברירת מחדל, קישורים ולחצנים לתשלום מוצגים לפי העדפות הדפדפן של הלקוחות.
בעלי עסקים יכולים לעקוף רק את הגדרות הדפדפן המתייחסות לקישור לתשלום וקוד לחצן, וזאת על-ידי הוספה של "locale.x=fr_FR" כפרמטר שאילתה. לרשותך כאן רשימת הקודים הנתמכים עבור אזורים שונים. טקסט שבעל עסק יוסיף במהלך הגדרת התצורה לא יתורגם.
לדוגמה: https://www.paypal.com/ncp/payment/F3YMU2ZGT49XX?locale.x=jp_JP
לדוגמה:
<script src="……¤cy=USD&locale.x=jp_JP"></script>
האם ניתן להסתיר חלק מהתוויות שמגיעות מהקישורים לתשלום
ומקוד הלחצן?
אנו מבינים שייתכן שההגדרה החזותית באתר שלך שונה, אך איננו ממליצים להסתיר את קוד הלחצן שאנו מספקים.
הסתרתו מהאתר שלך לא תשנה את אופן עיבוד העסקה. העסקה עדיין תשתמש בתצורת מזהה הלחצן המתארח שלך.
באפשרותך להסתיר חלק מהטקסט סביב הלחצנים או את כולו בעת שימוש בסוג לחצן שאינו דורש קלט מהלקוח. לדוגמה, אם הלקוח שלך צריך לבחור כמות או כמה פריטים מתוך רשימת בחירה, אך בחרת להסתיר את רכיבי הקלט האלה, העסקה תיכשל.
כך ניתן להסתיר מחיר של פריט:
יש להוסיף את ה-script הזה מתחת לקוד הלחצן שלךולהחליף את
<style>
#paypal-form-fields-container-{<HostedButton_ID>}
#price-label {
display: none !important;
}
}
</style>
- desc-label (עבור שם המוצר)
- price-label (עבור המחיר)
אם ברצונך להסתיר כמה מהם, יש להשתמש במזהה מופרד:
style> #paypal-container-
<style>
#paypal-container-<HostedButton_ID>
{
#paypal-form-fields-container-<HostedButton_ID>
{
display: none !important;
}
}
</style>
האם ניתן לעקוף את הקישורים והלחצנים שלי לתשלום כדי להשתמש באפשרות 'משלוח
מהגדרות'?
קישורים ולחצנים לתשלום לא יכבדו עקיפה גורפת של משלוח מהגדרות החשבון, שנקראת גם ההגדרה הבאה מתוך הגדרת משלוח.
שיניתי את המטבע של הלחצן שלי, אך המידע לא התעדכן
באתר שלי.
אם שינית את המטבע של לחצן כלשהו לאחר שכבר הדבקת אותו באתר שלך, יהיה עליך להעתיק/להדביק את קוד הלחצן שוב באתר שלך.
כאשר סימנתי את האפשרות 'לא לאסוף כתובת למשלוח', לא הצלחתי לבחור באפשרויות 'שימוש במשלוח מההגדרות' ו'שימוש במס
מההגדרות'.
האפשרויות לשימוש בדמי משלוח ובמס מ'הגדרות' מסתמכות על המיקוד של הכתובת למשלוח ו/או על המדינה של הלקוח. אם האפשרות 'לא לאסוף כתובת למשלוח' מסומנת, לא תתקבל הכתובת למשלוח של הלקוח, המאפשרת חישוב של דמי המשלוח והמס מ'הגדרות'. מומלץ להשתמש באפשרויות אחרות מהתפריטים הנפתחים 'דמי משלוח' ו'שיעור המס'.
האם קישורים ולחצנים לתשלום תומכים ב-Webhooks?
כן. כך ניתן להפעיל Webhooks:
- יש להיכנס ללוח הבקרה של המפתחים באמצעות פרטי הזיהוי של חשבון בעל העסק שלך.
- יש לעבור למצב 'חי'.
- יש ללחוץ על יישומים ופרטי זיהוי.
- יש לגלול מטה ולבחור 'ניהול Webhooks'.
- כעת ניתן להוסיף כתובת URL של Webhook עבור אתר חי. אם ברצונך להוסיף Webhooks עבור מצב Sandbox, יש להישאר בדף זה ולעבור ממצב 'חי' ל-Sandbox מהפינה השמאלית העליונה.
- יש להוסיף את כתובת ה-URL שלך למענה ל-Webhooks, לבחור את כל האירועים או התשלומים אשר יופעלו על-ידי PayPal באירועים נבחרים, בהתאם לקריאה להטמעת ה-API של NVP או SOAP – מידע של PayPal של API של NVP/SOAP עבור webhook.
תגובת webhook לדוגמה:
"id": "WH-12D11567VE3425924-2G120938U32719946",
"event_version": "1.0",
"create_time": "2024-09-14T15:55:58.043Z",
"resource_type": "capture",
"resource_version": "2.0",
"event_type": "PAYMENT.CAPTURE.COMPLETED",
"summary": "תשלום בוצע עבור 128.88 דולר אמריקאי",
"resource": {
"supplementary_data": {
"related_ids": {
"order_id": "8LM68409BR5528307"
}
],
"id": "7KK30254642170736",
"סטטוס": "הושלם"