ניהול יתרות בחשבונות עם תשלום מראש

הדף הזה רלוונטי ל-Apigee ול-Apigee Hybrid.

לעיון במסמכי התיעוד של Apigee Edge

בדף הזה מוסבר איך לנהל חשבונות לחיוב בתשלום מראש.

אתם יכולים להשתמש בממשקי ה-API של Apigee כדי לנהל את החשבונות לחיוב בתשלום מראש של מפתחי האפליקציות ושל קבוצות האפליקציות שלכם. באמצעות ממשקי ה-API, אפשר לבצע את המשימות הבאות:

צפייה בהגדרות המונטיזציה

כדי לראות את הגדרות המונטיזציה של מפתח אפליקציות, שולחים בקשת GET אל ה-API הבא:

https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/monetizationConfig

כדי לראות את הגדרות המונטיזציה של קבוצת אפליקציות, שולחים בקשת GET אל ה-API הזה:

https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/appgroups/$APPGROUP_NAME/monetizationConfig

באמצעות ה-API, אפשר לראות את סוג החיוב. מידע נוסף על ה-API זמין במאמרים בנושא organizations.developers.getMonetizationConfig או organizations.appgroups.getMonetizationConfig.

בדוגמה הבאה מוצג איך מציגים את הגדרות המונטיזציה של מפתח אפליקציות באמצעות הפקודה curl:

curl -H "Authorization: Bearer $TOKEN" \
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/monetizationConfig

כשמריצים את הפקודה, אפשר לראות תגובה שדומה לזו:

{
  "billingType": "PREPAID"
}

עדכון הגדרות המונטיזציה

כדי לעדכן את הגדרות המונטיזציה של מפתח אפליקציות, צריך להנפיק בקשת PUT אל ה-API הבא:

https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/monetizationConfig

כדי לעדכן את הגדרות המונטיזציה של AppGroup, שולחים בקשת PUT אל ממשק ה-API הבא:

https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/appgroups/$APPGROUP_NAME/monetizationConfig

בעזרת ה-API הזה תוכלו לעדכן את סוג החיוב. מידע נוסף על ה-API זמין במאמרים organizations.developers.updateMonetizationConfig או organizations.appgroups.updateMonetizationConfig.

בדוגמה הבאה מוצג איך לעדכן את הגדרות המונטיזציה של מפתח אפליקציות באמצעות הפקודה curl:

curl -H "Authorization: Bearer $TOKEN" \
-H "Content-type: application/json" \
-X PUT \
-d '{
"billingType": "POSTPAID"
}' \
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/monetizationConfig

כשמריצים את הפקודה, אפשר לראות תגובה שדומה לזו:

{
  "billingType": "POSTPAID"
}

שינוי סוג החיוב

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

מעבר ממינוי בתשלום לאחר השימוש למינוי בתשלום מראש

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

מעבר ממינוי בתשלום מראש למינוי בתשלום מאוחר

כשעוברים מתשלום מראש לתשלום לאחר השימוש, המערכת של Apigee מגדירה באופן מיידי את billingType ל-POSTPAID בהגדרה. בדוחות ההתאמה האישית של המונטיזציה מוצגת כל יתרה קיימת (בכל המטבעות) בחשבון בתשלום מראש כעסקת זיכוי. כשמחשבים את הסכום לתשלום אחרי מחזור החיוב, אתם (ספק ה-API) צריכים לקחת בחשבון את יתרת הקרדיט בחשבון.

צפייה ביתרה

כדי לראות את היתרה בחשבון התשלום מראש של מפתח אפליקציות, שולחים בקשת GET אל ה-API הבא:

https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/balance

כדי לראות את היתרה בחשבון התשלום מראש של קבוצת אפליקציות, שולחים בקשת GET אל ה-API הבא:

https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/appgroups/$APPGROUP_NAME/balance

מידע נוסף על ה-API זמין במאמרים organizations.developers.getBalance או organizations.appgroups.getBalance.

בדוגמה הבאה מוצג איך לראות את היתרה בחשבון שמוגדר לתשלום מראש של מפתח אפליקציות:

curl -H "Authorization: Bearer $TOKEN" \
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/balance

כשמריצים את הפקודה, אפשר לראות תגובה שדומה לזו:

{
  "wallets": [
    {
      "balance": {
        "currencyCode": "USD",
        "units": "150",
        "nanos": 500000000
      },
      "lastCreditTime": "1234567890"
    },
    {
      "balance": {
        "currencyCode": "INR",
        "units": "10000",
        "nanos": 600000000
      },
      "lastCreditTime": "9876543210"
    }
  ]
}

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

יתרה שלילית

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

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

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

יתרת הקרדיטים

כדי לזכות את היתרה בחשבון התשלום מראש של מפתח אפליקציה, צריך להגיש בקשת POST אל ה-API הבא:

https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/balance:credit

כדי לזכות את היתרה בחשבון מהפקדה של קבוצת אפליקציות, שולחים POST בקשה לממשק ה-API הבא:

https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/appgroups/$APPGROUP_NAME/balance:credit

מידע נוסף על ה-API זמין במאמרים organizations.developers.balance.credit או organizations.appgroups.balance.credit.

כדי לזכות את היתרה, צריך לבצע את השלבים הבאים לפי הסדר:

  1. מפתח אפליקציה או AppGroup מוסיפים כסף לחשבון מפורטל המפתחים באמצעות שער תשלומים.
  2. פורטל המפתחים יוצר מזהה עסקה ייחודי לטעינת היתרה.
  3. פורטל המפתחים מעדכן את היתרה של המפתח באמצעות ה-API המתאים, בין אם מדובר במפתח אפליקציה או בקבוצת אפליקציות.

בדוגמה הבאה מוצגת הקריאה ל-API בשלב 3, שמוסיפה 150.21 דולר ארה"ב ליתרה של מפתח אפליקציה. הערך של transactionId מוגדר כמזהה העסקה של טעינת היתרה (שלב 3).

curl -H "Authorization: Bearer $TOKEN" \
-H "Content-type: application/json" \
-X POST \
-d '{
  "transactionAmount": {
     "currencyCode": "USD",
     "units": "150",
     "nanos": 210000000
  },
  "transactionId": "ab31b63e-f8e8-11eb-9a03-0242ac130003"
}' \
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/balance:credit

כשמריצים את הפקודה, אפשר לראות תגובה שדומה לזו:

{
  "wallets": [
    {
      "balance": {
        "currencyCode": "USD",
        "units": "300",
        "nanos": 710000000
      },
      "lastCreditTime": "1234568890"
    },
    {
      "balance": {
        "currencyCode": "INR",
        "units": "10000",
        "nanos": 600000000
      },
      "lastCreditTime": "9876543210"
    }
  ]
}

שינוי היתרה

אם חייבתם חשבון בסכום נמוך מדי או גבוה מדי, אתם יכולים להשתמש ב-adjustBalanceAPI כדי לחייב את יתרת החשבון או לזכות אותה.

כדי לשנות את היתרה בחשבון התשלום מראש של מפתח אפליקציה, צריך לשלוח בקשת POST אל ממשק ה-API הבא:

https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/balance:adjust

כדי לשנות את היתרה בחשבון התשלום מראש של קבוצת אפליקציות, שולחים בקשת POST לממשק ה-API הבא:

https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/appgroups/$APPGROUP_NAME/balance:adjust

מידע נוסף על ה-API זמין במאמרים organizations.developers.balance.adjustBalance או organizations.appgroups.balance.adjustBalance.

אם רוצים לחייב את היתרה של מפתח אפליקציה או של קבוצת אפליקציות שחויבו בסכום נמוך מדי, צריך להגדיר את השדה units בבקשה לערך חיובי. בדוגמה הבאה, סכום של 50 דולר ארה"ב מחויב מיתרת חשבון בתשלום מראש של מפתח אפליקציה:

curl -H "Authorization: Bearer $TOKEN" \
-H "Content-type: application/json" \
-X POST \
-d '{
  "adjustment": {
    "units": "50",
    "currencyCode": "USD"
  }
}' \
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/balance:adjust

כשמריצים את הפקודה, אפשר לראות תגובה שדומה לזו:

{
  "wallets": [
    {
      "balance": {
        "currencyCode": "USD",
        "units": "150"
      },
      "lastCreditTime": "1635489199530"
    }
  ]
}

אם רוצים לזכות את היתרה של מפתח אפליקציה או של AppGroup שחויבו בסכום גבוה מדי, צריך להגדיר את השדה units בבקשה לערך שלילי. בדוגמה הבאה, היתרה בחשבון ששולם מראש של מפתח אפליקציה זוכה בסכום של 50.1 דולר ארה"ב:

curl -H "Authorization: Bearer $TOKEN" \
-H "Content-type: application/json" \
-X POST \
-d '{
  "adjustment": {
    "units": "-50",
    "nanos": 100000000,
    "currencyCode": "USD"
  }
}' \
https://apigee.googleapis.com/v1/organizations/$YOUR_GOOGLE_PROJECT_ID/developers/$DEVELOPER_EMAIL_ID/balance:adjust

כשמריצים את הפקודה, אפשר לראות תגובה שדומה לזו:

{
  "wallets": [
    {
      "balance": {
        "currencyCode": "USD",
        "units": "200",
        "nanos": 100000000
      },
      "lastCreditTime": "1635489199530"
    }
  ]
}