- בקשת 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 |
REQUIRED: חותמת הזמן של הבקשה הזו, מיוצגת באלפיות השנייה מאז epoch. על המקבל לאמת שחותמת הזמן הזו היא בטווח של ± 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 ונשלח לכלי לשילוב התשלומים לחיוב על ידי ספק במהלך שיחת האימות. |
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.
| טיפוסים בני מנייה (enum) | |
|---|---|
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 |
חובה: סכום המס, מיוצג כמיקרו של המטבע שצוין ב- |