ההוספה יכולה להתרחש בשלוש סביבות שונות:
- האפליקציה ל-Android של כלי לשילוב תשלומים
- האתר לנייד של הכלי לשילוב תשלומים
- האתר למחשב של משלב תשלומים
בלי קשר לתהליך העבודה, Google מעבירה את האינטראקציה של המשתמש לתשלום של כלי השילוב. משלב התשלומים מטמיעים ממשק משתמש שנראה מוכר למשתמש, אבל התהליך חייב להיות ייעודי במיוחד להוספת היתרה של המשתמש, כלומר שהמשתמש יופנה באמצעות תהליך של הוספת כסף במקום להיכנס לממשק משתמש לשימוש כללי, שבו הם היו מצפים לעבור לתהליך של הוספת כסף.
כל הזרימה גורמת לכך שהמטמיע ייצור TopUpRedirectResponse. התשובה הזו חתומה ונשלחה בחזרה ל-Google.
באתרים לנייד ולמחשב צריך לעמוד בדרישות של מפרט Web Top Up API, בזמן שהתהליך באפליקציה ל-Android חייב להיות תואם למפרט ה-API של הוספת כסף ל-Android.
מבצעי שילוב צריכים להטמיע פתרון APK ל-Android כדי לאמת את המשתמשים ואז להפנות אותם לתהליך שבו הם יכולים להוסיף כסף ליתרה שלהם. הזה היא שיטה שונה, אבל אותה מטרה כמו זו שמסופקת על ידי ה הוספת כסף לאינטרנט.
משתמש נכנס לתהליך באפליקציה לשילוב תשלומים דרך פעילות ב-Android. אפשר להפעיל את כוונת הרכישה ישירות מאפליקציית Play שבה המשתמש מתכוונים לבצע רכישה. כדי למנוע מ-Android לסגור את Play ב- ברקע במהלך העדכון, על מבצע השילוב לכלול את הפרטים הבאים נושא הפעילות.
<item name="android:windowIsTranslucent">true</item>
הגדרת השיטה
ל-Intent צריכים להיות המאפיינים הבאים:
מאפייני השיטה | |
---|---|
פעולה |
com.google.android.payments.standard.TOPUP_V1 |
קטגוריה | android.intent.category.DEFAULT |
בקשה
שדות | |
---|---|
gspTopUpRequest
|
TopUpRedirectRequest
בקשה להוספת כסף. |
gspAssociationId
|
string
מכיל מזהה שמשמש את מבצע השילוב כדי לחפש פרטי כניסה לחשבון שאליו המשתמש מוסיף נתונים. זהו מזהה השיוך שנשלחת במהלך קישור החשבונות ב-AssociateAccountRequest. |
תשובה
לאחר שהמשתמש ישלים את תהליך ההוספה, האפליקציה צריכה לשלוח את הכוונה של התוצאה בחזרה ל-Google. אם הוספת הכסף מצליחה, צור כוונה להוסיף את ה-gspTopUpResponse המקודד והמקודד 'redirectRequestId' כתוספות. בשלב הבא, מגדירים את הפעילות אל קוד התוצאה המתאים.
...
result.setExtra("gspTopUpResponse", gspTopUpResponse);
result.setExtra("redirectRequestId", redirectRequestId);
setResult(Activity.RESULT_OK, result);
...
finish();
תוצאה
שדות | |||||||
---|---|---|---|---|---|---|---|
תוצאה |
int
|
תוספות
שדות | |
---|---|
gspTopUpResponse |
TopUpRedirectResponse
חובה: הוספת תשובה. הערך המקודד הזה לא יכול לחרוג מ-1KB. |
redirectRequestId |
string חובה: requestId שנשלח בבקשה המקורית/המתחילה של ההפניה האוטומטית. Google תוודא שהכתובת הזו תואמת ל-requestId שנשלח, ותהליך ההפניה האוטומטית ייכשל אם הוא לא תואם.
|
דרישות אחרות לגבי פעילות
הפעילות שתומכת בפעולה TOPUP_V1
שצוינה למעלה חייבת
כמו כן, לבדוק שהקוראים של ה-API מגיעים רק מאפליקציות שחתומות על ידי Google.
כך תמנע מאפליקציות אחרות לנסות להפעיל את הפעילות שלך
לאחזר נתוני משתמשים. כדי לעשות זאת אפשר להשתמש
StandardPaymentUtils.verifyCallingActivityIsGoogleSigned
מיד אחרי
super.onCreate
בתוך
פעילות
יישום בפועל.
לדוגמה:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
StandardPaymentsUtils.verifyCallingActivityIsGoogleSigned(this);
....
}
כל הפעילויות שמופעלות בזרימת ההוספה חייבות לספק פעילות
עיצוב עם windowIsTranslucent=true
. צריך לעשות זאת עם
AndroidManifest android:theme מאפיין ולא נעשה בו שימוש ב-Context.setTheme()
.
מבחינה פרוגרמטית, הגדרת העיצוב לא פועלת כמו שצריך בחלון
שקופה. Google תאכוף את הפעילות הראשונה שתושק לפי
אבל כל פעילויות המשנה שיופעלו גם הן חייבות לפעול לפי
דפוס. אחרת, יכול להיות שרכישות ממפתחים מצד שלישי לא יפעלו.