Google Play Voided Purchases API מספק רשימה של הזמנות שמשויכות לרכישות שמשתמש ביטל. אפשר להשתמש במידע מהרשימה הזו כדי להטמיע מערכת לביטול גישה, שתמנע מהמשתמש גישה למוצרים מההזמנות האלה.
ממשק ה-API הזה רלוונטי להזמנות חד-פעמיות מתוך האפליקציה ולמינויים לאפליקציות.
אפשר לבטל רכישה בדרכים הבאות:
- המשתמש מבקש החזר כספי על ההזמנה שלו.
- המשתמש מבטל את ההזמנה.
- הזמנה מחויבת מחדש.
המפתח מבטל את ההזמנה או מחזיר עליה כסף.
Google מבטלת הזמנה או מחזירה כסף על הזמנה.
השימוש ב-API הזה עוזר ליצור חוויה מאוזנת והוגנת יותר לכל המשתמשים באפליקציה, במיוחד אם האפליקציה היא משחק.
קבלת גישה
כדי לעבוד עם Voided Purchases API, אתם צריכים הרשאה לצפייה במידע פיננסי. אתם מספקים הרשאה באמצעות לקוח OAuth או חשבון שירות. אם אתם משתמשים בחשבון שירות, אתם צריכים להפעיל את ההרשאה 'צפייה בדוחות פיננסיים' בחשבון הזה.
כדי לקבל מידע נוסף על קבלת גישה מורשית לממשקי Google Play Developer API, אפשר לעיין במדריכים הבאים:
צפייה ברכישות שבוטלו
אפשר להשתמש בשיטה GET
כדי לבקש רשימה של רכישות שבוטלו. בבקשה, צריך לכלול את שם החבילה המלא של האפליקציה – לדוגמה, com.google.android.apps.maps
– ואת אסימון ההרשאה שקיבלתם כשקיבלתם גישה ל-API.
GET https://www.googleapis.com/androidpublisher/v3/applications/ your_package_name/purchases/voidedpurchases?access_token=your_auth_token
אפשר גם לכלול בבקשה את הפרמטרים הבאים, שכל אחד מהם הוא אופציונלי:
- startTime
הזמן, באלפיות השנייה מאז ראשית זמן יוניקס (Unix epoch), של הרכישה הכי ישנה שבוטלה שרוצים לראות בתגובה. כברירת מחדל,
startTime
מוגדר ל-30 יום אחורה.ה-API יכול להציג רק רכישות שבוטלו ב-30 הימים האחרונים. רכישות ישנות יותר שבוטלו לא נכללות בתגובה, ללא קשר לערך שסיפקתם ל-
startTime
.- endTime
הזמן, באלפיות השנייה מאז ראשית זמן יוניקס (Unix epoch), של הרכישה החדשה ביותר שבוטלה שרוצים לראות בתשובה. כברירת מחדל,
endTime
מוגדר לזמן הנוכחי.- maxResults
- המספר המקסימלי של רכישות שבוטלו שמופיעות בכל תגובה. כברירת מחדל, הערך הזה הוא 1,000. שימו לב שהערך המקסימלי של הפרמטר הזה הוא 1,000.
- token
- אסימון המשך מתגובה קודמת, שמאפשר לכם לראות תוצאות נוספות.
- סוג
סוג הרכישות שבוטלו שמופיע בכל תשובה. אם הערך הוא 0, יוחזרו רק רכישות מתוך אפליקציות שבוטלו. אם הערך מוגדר כ-1, יוחזרו גם רכישות מהאפליקציה שבוטלו וגם רכישות של מינויים שבוטלו. ערך ברירת המחדל הוא 0.
- includeQuantityBasedPartialRefund
האם לכלול רכישות שבוטלו של החזרים כספיים חלקיים שמבוססים על כמות, שרלוונטיים רק לרכישות בכמות גדולה. אם
true
, יכול להיות שיוחזרו רכישות נוספות שבוטלו עםvoidedQuantity
שמציין את כמות ההחזר הכספי של החזר כספי חלקי שמבוסס על כמות. ערך ברירת המחדל הואfalse
.
התגובה היא מחרוזת JSON שמכילה רשימה של רכישות שבוטלו. אם יש יותר תוצאות מהמספר שצוין בפרמטר הבקשה maxResults
, התגובה כוללת ערך nextPageToken
שאפשר להעביר לבקשה הבאה כדי לראות עוד תוצאות. התוצאה הראשונה ברשימה מציגה את הרכישה הכי ישנה שבוטלה.
{ "tokenPagination": { "nextPageToken": "next_page_token" }, "voidedPurchases": [ { "kind": "androidpublisher#voidedPurchase", "purchaseToken": "some_purchase_token", "purchaseTimeMillis": "1468825200000", "voidedTimeMillis": "1469430000000", "orderId": "some_order_id", "voidedSource": "0", "voidedReason": "4" }, { "kind": "androidpublisher#voidedPurchase", "purchaseToken": "some_other_purchase_token", "purchaseTimeMillis": "1468825100000", "voidedTimeMillis": "1470034800000", "orderId": "some_other_order_id", "voidedSource": "2", "voidedReason": "5" }, ] }
מכסות
ב-Voided Purchases API מוגדרות המכסות הבאות לכל חבילה:
- 6,000 שאילתות ביום. (היום מתחיל ומסתיים בחצות לפי שעון החוף המערבי).
- 30 שאילתות במהלך תקופה של 30 שניות.
הנחיות לבקשות ראשוניות
במהלך בקשת ה-API הראשונית, יכול להיות שתרצו לאחזר את כל הנתונים הזמינים של האפליקציה. למרות שזה לא סביר, יכול להיות שהתהליך הזה יגרום לכם לחרוג מהמכסה היומית. כדי לקבל נתונים על רכישות שבוטלו בצורה בטוחה ועקבית יותר, מומלץ לפעול לפי השיטות המומלצות הבאות:
- משתמשים בערך ברירת המחדל של הפרמטר
maxResults
. כך, אם תשתמשו במלוא מכסת השאילתות שלכם ליום, תוכלו לאחזר את הפרטים של 6,000,000 רכישות שבוטלו. - אם התגובה כוללת ערך לפרמטר
nextPageToken
, צריך להקצות את הערך הזה לפרמטרtoken
במהלך הבקשה הבאה.
שיטות מומלצות
כשמשתמשים בממשק ה-API הזה באפליקציה, חשוב לזכור שיש הרבה סיבות לביטול רכישה, ואין פתרון יחיד שמתאים לכל המקרים. כשמעצבים את המדיניות והאסטרטגיות לביטול הרשאות, חשוב לזכור את המשתמשים. כדי לעשות זאת, אפשר ליישם את השיטות המומלצות הבאות:
- אפשר להשתמש ב-API הזה כאחד מתוך הרבה רכיבים באסטרטגיה מקיפה לטיפול בהתנהגות לא רצויה. ביטול הגישה למוצרים באפליקציה יעיל יותר בדרך כלל בשילוב עם אפליקציה שבה המחירים של הרכישות מתוך האפליקציה סבירים, עיצוב אפליקציה שלא מעודד התנהגות לא רצויה, בסיס משתמשים גדול שהתרבות שלו לא מקבלת התנהגות כזו וערוצי תמיכה יעילים ורספונסיביים למשתמשים.
- כדי להבטיח הוגנות לכל המשתמשים, חשוב להחיל את מדיניות הביטול באופן אחיד.
- כדי לטפל בהתנהגות לא רצויה, כדאי ליצור מדיניות מדורגת. לדוגמה, אפשר להתחיל באזהרות בתוך האפליקציה על עבירות ראשונות, ואז להחמיר את התגובות אם ההתנהגות הלא רצויה של המשתמש נמשכת. כמוצא אחרון, אפשר למנוע ממשתמש לבצע אינטראקציה עם האפליקציה.
- כשמציגים מדיניות ביטול, ובכל פעם שמעדכנים אותה, צריך להשתמש בערוצי התקשורת של האפליקציה כדי ליידע את המשתמשים על השינויים. חשוב לתת למשתמשים זמן להבין את השינויים האלה לפני שהם יחולו באפליקציה.
- חשוב להיות שקופים כלפי המשתמשים ולעדכן אותם בכל פעם שאתם מבצעים פעולה, כמו ביטול הגישה שלהם למוצר בתוך האפליקציה. במצב אידיאלי, המשתמשים צריכים להיות מסוגלים לערער על ההחלטות שלכם, והערעורים האלה צריכים להיבדק בצורה הוגנת.
- כדאי לעקוב אחרי טפסים למשוב ופורומים של הקהילה כדי להבין מה גורם למשתמשים להתנהג בצורה לא רצויה ואיך הם מבצעים את ההתנהגות הזו. כדאי לפעול לפי התובנות האלה כקו הגנה ראשון.