ניהול מינויים ורכישות חד-פעמיות

יכול להיות שיהיה צורך לבצע פעולות ניהול לגבי מינויים או רכישות חד-פעמיות כחלק מהפעילות היומיומית שלנו. לדוגמה, ייתכן ששירות הלקוחות שלכם יצטרך בעיה של החזר כספי כולל או חלקי למשתמשים, או שצריך לבטל במקרים מסוימים. אפשר לנהל הזמנות מ-Play Console, או אם שרוצים לנהל אותם מהמערכת שלכם, אפשר לעשות זאת באמצעות API של Google Play למפתחים.

ביטול מינויים

המשתמשים יכולים לבטל מינוי ל-Google Play בכל שלב דרך חנות Play, אבל צריך גם לספק למשתמשים אפשרות לבטל את המינויים שלהם באפליקציה ובאתר, אם הדבר רלוונטי.

הדרך הקלה ביותר לאפשר למשתמשים לבטל מרצונם היא באמצעות קישור עומק אל חנות Play, שם אפשר לראות ולנהל את המינוי שלהם.

יכול להיות שתצטרכו להפעיל ביטולים גם מהקצה העורפי. purchases.subscriptions.cancel מאפשר לך לבטל רכישה של מינוי. לדוגמה, אפשר להשתמש בשיטה הזו כדי להשבית שירות מדור קודם. ביטול מינוי לא מנפיק החזר כספי, והמשתמש ממשיך להיות בעלי גישה עד סוף תקופת החיוב הנוכחית. ביטול של המינוי בשיטה הזו מונע מהמשתמש לשחזר את המינוי בחנות Play, אבל המשתמשים עדיין יוכלו להירשם מחדש דרך האפליקציה שלך אם הם צריכים.

ביצוע הפעולה הזו יגרום להפעלה של SUBSCRIPTION_CANCELED בזמן אמת למפתחים התראה. צריך לטפל בביטולים האלה כפי שמתואר ב ביטולים.

דחיית החיוב

שימוש ב-subscriptions.defer כדי להאריך את תקופת הזכאות למינוי. במהלך תקופת הדחייה, המשתמש נשאר מנוי לתוכן שלך אבל לא מחויב על בזמן האימון. כשדוחים חיוב של מינוי, פרטי הסטטוס מעודכנת בהתאם ואפשר לראות זאת בשדה expiryTime מידע על סטטוס הרכישה:

  • במינויים פעילים קבועים, חיוב שנדחה מאריך את פרק הזמן הבא תאריך החידוש.
  • בתוכניות בתשלום מראש, חיוב שנדחה מאריך את זמן התפוגה.

הנה כמה דוגמאות לשימוש בחיוב דחוי:

  • כדאי לתת למשתמשים גישה ללא עלות כהטבה מיוחדת, כמו הענקת שבוע בחינם למנויים קיימים לצורך מילוי סקר משוב.
  • מעניקים ללקוחות גישה ללא עלות כפעולה של שירות לקוחות, לדוגמה אחרי הפסקה זמנית ארוכה בשירות, שהשפיעה על היכולת שלה להשתמש בשירות.

ניתן לדחות חיוב ביום אחד ועד שנה בכל קריאה ל-API. כדי לדחות עוד יותר את סיום ההרשאה, צריך להפעיל שוב את ה-API לפני תאריך התפוגה החדש.

ביצוע הפעולה הזו יגרום להפעלה של SUBSCRIPTION_DEFERRED בזמן אמת למפתחים התראה. בקטע מידע על מינויים מוסבר איך לטפל באירועים כאלה. בקטע דחיית החיוב של מנוי.

דוגמה:

  1. שירות סטרימינג של FitnessGoals רוצה להפעיל קידום של עוד פעילות גופנית בחודש פברואר.

  2. הם מחליטים להציע חודש שירות נוסף לכל מנוי שמבצע אימון עם FitnessGoals לפחות 10 פעמים במהלך החודש פברואר.

  3. הם עוקבים אחרי תוצאות האתגר, וב-1 במרץ הם קוראים לפונקציה ממשק API של subscriptions.defer לכל רכישת מינוי פעיל השייכת אל משתמשים שעמדו באתגר בפברואר.

  4. המשתמשים האלה נהנים מחודש מלא של פעילות גופנית באופן קבוע סרטונים ללא עלות, והמשתמשים אומרים לכל החברים שלהם איך FitnessGoals עוזרים להם לשמור על הבריאות!

מתן החזרים כספיים וביטולים

יש מצבים רבים שבהם כדאי להעניק החזר כספי או לבטל את ההחזר גישה למינוי או לרכישה חד-פעמית.

ביצוע החזר כספי מלא על הזמנה לפי מזהה הזמנה

עם orders.refund API, תוכלו להנפיק החזרים כספיים מלאים לכל הזמנה בתוך שלוש שנים ממועד הרכישה. השיטה orders.refund מקבלת פרמטר ביטול שמציין אם בנוסף למתן ההחזר הכספי, יש לבטל את הגישה.

אם תבטלו את הבקשה להחזר כספי על רכישת מינוי, המינוי מסתיים באופן מיידי והוא מפעיל SUBSCRIPTION_REVOKED התראות בזמן אמת למפתחים. קריאת מידע על ניהול מחזור החיים של מינויים המדריך הקטע 'ביטולים' כדי ללמוד איך לטפל באירועים האלה.

דוגמה:

  1. כדי לחגוג את תחילת גביע העולם החדש, אפליקציית הספורט האלקטרוני Football-Not-Soccer מחליטים להחריג חולצות וירטואליות בחינם לכל המשתמשים. שרוכשים ערכות חדשות לצוות ב-24 השעות הראשונות.

  2. Football-Not- Football משתמשים בorders.refund API בלי להעביר פרמטר ביטול כדי לקבל החזר כספי על רכישות החולצה מנצחים.

ביטול מינוי והחזר כספי באמצעות אסימון רכישה

יכול להיות שבתרחישים מסוימים תצטרכו לבטל את הגישה למינוי של משתמש ולספק החזר כספי. בחיוב ב-Play יש שיטות לביטול המינוי, כולל שימוש מלא החזרים כספיים והחזרים כספיים יחסיים דרך subscriptionsv2.revoke API. בנקודת הקצה הזו אפשר לציין revocationContext כדי לקבוע איך יתבצע ההחזר הכספי.

ביצוע הפעולה הזו יגרום להפעלה של מפתח SUBSCRIPTION_REVOKED בזמן אמת התראה. האפליקציה שלך צריכה לטפל בביטולים האלה כפי שמתואר ב ביטולים.

דוגמה:

  • רכישה באמצעות אסימון רכישה 1a2b3c4d5e6f7g8h9i0j
  • אפליקציה עם שם החבילה com.your.app
  • כוונה לבצע החזר כספי יחסי

בקשת HTTP POST:

https://androidpublisher.googleapis.com/androidpublisher/v3/applications/com.your.app/purchases/subscriptionsv2/tokens/1a2b3c4d5e6f7g8h9i0j:revoke

גוף הבקשה:

{
  "revocationContext": {
    "proratedRefund": {}
  }
}

החזרים כספיים מלאים

אם עליך לסיים מינוי ולהחזיר את מלוא הסכום של את תקופת החיוב הנוכחית, הנפקת החזר כספי מלא. משתמשים ב purchases.subscriptionsv2.revoke ומגדירים את "fullRefund": {} כסוג ההחזר הכספי.

דוגמה:

  1. למירי יש מינוי שמתחדש אוטומטית למשך 30 יום בסטרימינג של SuperMovies בתוכנית חודשית. מריה נתקלה בבעיות טכניות שמנעו ממנה לגשת לתוכן. היא יוצרת קשר עם שירות הלקוחות ביום השלישי של החיוב מחזור שהיא מציין שהיא מעולם לא קיבלה גישה למינוי.

  2. שירות הלקוחות מאתר את פרטי רכישת המינוי של מריה ב של המערכת ומפעילה קריאה ל-purchases.subscriptionsv2.revoke בקשה להחזר כספי מלא.

  3. שירות הלקוחות אומר למריה שהיא צריכה לקבל 100% בוצע החזר כספי על מחיר המינוי, והיא כבר לא רשומה לתוכנית.

החזר כספי יחסי

אם צריך לסיים מינוי ולתת החזר כספי חלקי על היתרה זמן ההרשאה, הנפקת החזר כספי יחסי. משתמשים ב purchases.subscriptionsv2.revoke ומגדירים את "proratedRefund": {} כסוג ההחזר הכספי.

דוגמה:

  1. למירי יש מינוי שמתחדש אוטומטית למשך 30 יום בסטרימינג של SuperMovies בתוכנית חודשית. היא משתמשת בשירות בשמחה כבר לא מעט זמן. מריה יוצרת קשר עם שירות הלקוחות ביום ה-15 של מחזור החיובים שלה, ומצהירה עובר לחו"ל ולא יוכל יותר להשתמש בשירות החל מתאריך ביום המחרת.

  2. שירות הלקוחות מאתר את פרטי רכישת המינוי של מריה ב של המערכת ומפעילה קריאה ל-purchases.subscriptionsv2.revoke בקשה להחזר כספי חלקי.

  3. שירות הלקוחות אומר למריה שהיא צריכה לקבל כ-50% החזר כספי על מחיר המינוי והגישה לשירות הופסקה באופן מיידי.