- בקשת HTTP
- גוף הבקשה
- גוף התשובה
- RequestHeader
- גרסה
- OrderLookupCriteria
- ArnCriteria
- GoogleTransactionReferenceNumberCriteria
- RequestOriginator
- ResponseHeader
- GetOrderDetailsResultCode
- הזמנה
- פריט
- מס
לקבל הזמנה שמספקת את הבסיס לשותפי Google לחיוב משתמשי הקצה.
אם נקודת הקצה נתקלת בשגיאה במהלך עיבוד הבקשה, התשובה מנקודת הקצה הזו תהיה מסוג
.ErrorResponse
אם השיטה הזו לא מחזירה HTTP 200, התשובות לשאילתה הזו יכולות להיות ריקות. גוף התגובה הוא ריק במצבים שבהם
עם תיאור ברור יכול לעזור לתוקפים להבין את מזהה החשבון של מבצע השילוב של התשלומים של משלבים אחרים. במצבים כאלה, שבהם מפתח החתימה לא תואם, המזהה של משלב התשלומים לא נמצא או שמפתח ההצפנה לא היה ידוע, השיטה הזו תחזיר קוד HTTP 404 עם גוף ריק. אם ניתן לאמת את חתימת הבקשה, בגוף התגובה יוחזר מידע נוסף לגבי השגיאה.ErrorResponse
בקשה לדוגמה נראית כך:
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 1,
"revision": 0
},
"requestId": "HsKv5pvtQKTtz7rdcw1YqE",
"requestTimestamp": "1519996751331"
},
"paymentIntegratorAccountId": "IntegratorFakeAccount",
"orderLookupCriteria": {
"googleTransactionReferenceNumberCriteria": {
"googleTransactionReferenceNumber": "714545417102363157911822",
"authorizationCode": "111111"
}
},
"requestOriginator": {
"organizationId": "ISSUER_256",
"organizationDescription": "Community Bank of Some City"
}
}
דוגמה לתשובה:
{
"responseHeader": {
"responseTimestamp": "1519996752221"
},
"result": "SUCCESS",
"order": {
"timestamp": "1517992525972",
"orderId": "UPG.DEFC.X6F4.MEOM.CDWF",
"currencyCode": "USD",
"subTotalAmount": "399000000",
"totalAmount": "459000000",
"taxes": [],
"items": [
{
"description": "YouTube TV membership",
"merchant": "fake org",
"googleProductName": "YouTube TV",
"quantity": "1",
"totalPrice": "399000000"
},
{
"description": "Showtime",
"merchant": "fake org",
"googleProductName": "YouTube TV",
"quantity": "1",
"totalPrice": "6000000"
}
]
}
}
בקשת HTTP
POST https://vgw.googleapis.com/secure-serving/gsp/v1/getOrderDetails/:PIAID
גוף הבקשה
גוף הבקשה מכיל נתונים במבנה הבא:
ייצוג JSON |
---|
{ "requestHeader": { object ( |
שדות | |
---|---|
requestHeader |
חובה: כותרת משותפת לכל הבקשות. |
paymentIntegratorAccountId |
חובה: מזהה החשבון של מבצע השילוב של התשלומים שמזהה את מבצע הקריאה ואת המגבלות החוזיות המשויכות לאינטראקציה הזו. |
orderLookupCriteria |
חובה: קריטריונים המציינים את הסדר שיש לחפש. |
requestOriginator |
אופציונלי: מידע על הארגון או על קבוצת המשנה הארגונית שיצרה את הבקשה הזו (אם מבצע השילוב מתקשר אלינו בשם ארגון אחר). |
גוף התגובה
מטען ייעודי (payload) של תגובה ל-method getOrderDetails
.
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכלול נתונים במבנה הבא:
ייצוג JSON |
---|
{ "responseHeader": { object ( |
שדות | |
---|---|
responseHeader |
חובה: כותרת נפוצה לכל התשובות. |
result |
חובה: התוצאה של השיחה הזו. |
order |
אופציונלי: מידע בנוגע להזמנה שבה בוצע התשלום. (מוצג אם ורק אם |
RequestHeader
אובייקט כותרת שמוגדר בכל הבקשות שנשלחות לשרת.
ייצוג JSON |
---|
{
"requestId": string,
"requestTimestamp": string,
"userLocale": string,
"protocolVersion": {
object ( |
שדות | |
---|---|
requestId |
חובה: המזהה הייחודי של הבקשה. זוהי מחרוזת באורך מקסימלי של 100 תווים והיא מכילה רק את התווים "a-z", "A-Z", "0-9", ":", "-" ו-"_". |
requestTimestamp |
חובה: חותמת הזמן של הבקשה הזו מיוצגת כאלפיות שנייה מאז תחילת התקופה של זמן מערכת. המקבל צריך לוודא שחותמת הזמן הזו היא ± 60 שניות של 'עכשיו'. חותמת הזמן של הבקשה אינה מזהה ביחס לניסיונות החוזרים. |
userLocale |
הוצא משימוש: קוד שפה בן שתיים או שלוש אותיות לפי תקן ISO 639-2 Alpha 3, ואחריו מקף וקוד מדינה לפי תקן ISO 3166-1 Alpha-2. לדוגמה: 'pt', 'pt-BR', 'fil' או 'fil-PH'. אפשר להשתמש בה כדי לכתוב את השדות |
protocolVersion |
חובה: הגרסה של הבקשה. |
גרסה
אובייקט גרסה שהוא צורה מובנית של מבנה הגרסה הקלאסי של a.b.c
. מובטחות תאימות של גרסאות ראשיות של אותו מספר. חשוב לזכור שתיקונים קלים ותיקונים קטנים עשויים להשתנות לעיתים קרובות וללא הודעה מוקדמת. מבצע השילוב חייב לתמוך בכל הבקשות לאותה גרסה ראשית.
ייצוג JSON |
---|
{ "major": integer, "minor": integer, "revision": integer } |
שדות | |
---|---|
major |
חובה: הגרסה הראשית. מצב זה מסומן עבור בקשות תאימות עם גרסאות שונות לא מובטח שהן יהיו תואמות. |
minor |
חובה: הגרסה המשנית. מדובר בתיקוני באגים משמעותיים. |
revision |
חובה: הגרסה המשנית. מדובר בתיקונים של באגים קטנים. |
OrderLookupCriteria
קריטריונים לחיפוש הזמנה.
ייצוג JSON |
---|
{ // Union field |
שדות | |
---|---|
שדה איחוד הערך של |
|
dcb3CorrelationId |
חיפוש מבוסס על מזהה מתאם של חיוב ישיר על ידי Google שנוצר על ידי Google ומזהה באופן ייחודי את התשלום. הערך הזה נוצר על ידי Google ונשלח לשילוב התשלומים של החיוב על ידי ספק במהלך שיחת האימות. |
arnCriteria |
חיפוש מבוסס על מספר אסמכתה של רוכש (ARN). |
googleTransactionReferenceNumberCriteria |
חיפוש המבוסס על מספר האסמכתה של העסקה של Google. |
ArnCriteria
קריטריונים לחיפוש תשלום על סמך מספר אסמכתה של משלם (ARN).
ייצוג JSON |
---|
{ "acquirerReferenceNumber": string, "authorizationCode": string } |
שדות | |
---|---|
acquirerReferenceNumber |
חובה: מספר האסמכתה של הלקוח (ARN) שמזהה את התשלום באופן ייחודי. חייב להכיל 23 ספרות. |
authorizationCode |
נדרש: קוד ההרשאה לעסקה. |
GoogleTransactionReferenceNumberCriteria
קריטריונים לחיפוש תשלום על סמך מספר האסמכתה של העסקה שנוצרה על ידי Google.
ייצוג JSON |
---|
{ "googleTransactionReferenceNumber": string, "authorizationCode": string } |
שדות | |
---|---|
googleTransactionReferenceNumber |
חובה: מספר הסימוכין של העסקה שנוצר על ידי Google, שמזהה באופן ייחודי את התשלום. |
authorizationCode |
נדרש: קוד ההרשאה לעסקה. |
RequestOriginator
מידע על הארגון או קבוצת המשנה הארגונית שמהם הגיעה הבקשה. כך Google יכולה לזהות בעיות או ניצול לרעה ולהטמיע אמצעי בקרה ברמת פירוט גבוהה יותר מאשר paymentIntegratorAccountId
. ההשוואה הזו חשובה במיוחד כאשר המתקשר הוא ספק שירות מתווך שמקורו בבקשות מלקוחות חיצוניים.
ייצוג JSON |
---|
{ "organizationId": string, "organizationDescription": string } |
שדות | |
---|---|
organizationId |
נדרש: מזהה של החברה, הארגון או הקבוצה הארגונית שמהם הגיעה הבקשה. חייב להיות ייחודי ב |
organizationDescription |
חובה: שם קריא (לבני אדם) או תיאור של הארגון, וניתן להשתמש בו כדי להקל על התקשורת בין עובדי Google לבין המארגן של אותו ארגון. |
ResponseHeader
אובייקט כותרת שמוגדר בכל התגובות שנשלחות מהשרת.
ייצוג JSON |
---|
{ "responseTimestamp": string } |
שדות | |
---|---|
responseTimestamp |
חובה: חותמת הזמן של התשובה הזו מיוצגת כאלפיות שנייה מאז תחילת התקופה של זמן מערכת. המקבל צריך לוודא שחותמת הזמן הזו היא ± 60 שניות של 'עכשיו'. |
GetOrderDetailsResultCode
התוצאה של הפעלת ה-method getOrderDetails
.
טיפוסים בני מנייה (enums) | |
---|---|
GET_ORDER_DETAILS_RESULT_CODE_UNKNOWN |
אל תגדיר את ערך ברירת המחדל הזה אף פעם! |
SUCCESS |
ההזמנה נמצאה והוחזרה. |
ORDER_CANNOT_BE_RETURNED |
ההזמנה המבוקשת קיימת, אך לא ניתן להחזירה. הסיבות כוללות מקרים שבהם ההזמנה הוסרה לבקשת הבעלים. |
PAYMENT_TOO_OLD |
התשלום המבוקש נמצא, אך לא סופקו פרטי הזמנה עקב גיל התשלום. |
PAYMENT_NOT_FOUND |
התשלום המבוקש לא נמצא. |
NO_ADDITIONAL_DETAILS |
התשלום המבוקש נמצא, אך פרטי ההזמנה אינם זמינים. |
הזמנה
מידע על ההזמנה.
ייצוג JSON |
---|
{ "timestamp": string, "orderId": string, "currencyCode": string, "subTotalAmount": string, "totalAmount": string, "items": [ { object ( |
שדות | |
---|---|
timestamp |
אופציונלי: חותמת הזמן של מועד ביצוע ההזמנה, מיוצגת כאלפיות שנייה מאז תחילת התקופה. האפשרות הזו לא זמינה לכל סוגי ההזמנות. |
orderId |
אופציונלי: מחרוזת המזהה את הסדר הזה באופן ייחודי. האפשרות הזו לא זמינה לכל סוגי ההזמנות. |
currencyCode |
אופציונלי: קוד מטבע בן 3 אותיות לפי תקן ISO 4217 לכל הסכומים בסדר הזה. האפשרות הזו לא זמינה לכל סוגי ההזמנות. |
subTotalAmount |
אופציונלי: הסכום הכולל של ההזמנה הזו לפני מס, מיוצג כמיקרו של המטבע שצוין ב- |
totalAmount |
אופציונלי: הסכום הכולל של ההזמנה הזו, כולל מס, מיוצג כמיקרו של המטבע שצוין ב- |
items[] |
חובה: רשימת פריטים שהיו חלק מהזמנה זו. |
taxes[] |
אופציונלי: רשימת מיסים שהיו חלק מהזמנה זו. |
פריט
מידע על הפריט שבהזמנה.
ייצוג JSON |
---|
{ "description": string, "merchant": string, "quantity": string, "totalPrice": string, "googleProductName": string } |
שדות | |
---|---|
description |
אופציונלי: תיאור של הפריט שנרכש. האפשרות הזו לא זמינה לכל סוגי ההזמנות. |
merchant |
חובה: המוכר, האומן או היוצר של הפריט. |
quantity |
אופציונלי: הכמות שהוזמנה מהפריט. השדה הזה יושמט אם לא ניתן להשתמש בכמויות של מספרים שלמים על המוצר (לדוגמה, במוצרים שמבוססים על מכסת מאמרים ללא תשלום יכולות להיות כמויות חלקיות). |
totalPrice |
אופציונלי: המחיר הכולל של הפריט, מיוצג כמיקרו של המטבע שצוין ב- |
googleProductName |
חובה: שם שירות המוצר של Google עבור הפריט. |
מס
מידע על מס שחל על הזמנה זו.
ייצוג JSON |
---|
{ "description": string, "amount": string } |
שדות | |
---|---|
description |
חובה: תיאור של המס. |
amount |
חובה: סכום המס, מיוצג כמיקרו של המטבע שצוין ב- |