Method: asynchronousCapture

התחלת הפעולה של העברת הכספים בין חשבון הלקוח לבין מבצע השילוב. מבצע השילוב צריך לאשר את הבקשה ולבצע את הפעולות שצריך לבצע כדי להשלים את הצילום (למשל, איסוף קוד אימות מהמשתמש). מבצע השילוב יודיע ל-Google על התוצאה הסופית של הצילום באמצעות קריאה ל-CaptureresultsNotification API.

השילוב של requestId בכותרת ו-paymentIntegratorAccountId הוא המפתח של האידמפוטנטיות ומזהה באופן ייחודי את העסקה הזו. כל השינויים בעסקה הזו (החזרים כספיים) מאכלסים את הערך requestId בשדה captureRequestId.

אם נקודת הקצה נתקלה בשגיאה במהלך עיבוד הבקשה, גוף התגובה מנקודת הקצה הזו צריך להיות מסוג ErrorResponse.

בקשה לדוגמה נראית כך:


{
  "requestHeader": {
    "protocolVersion": {
      "major": 1,
      "minor": 1,
      "revision": 0
    },
    "requestId": "bWVyY2hhbnQgdHJhbnNhY3Rpb24gaWQ",
    "requestTimestamp": "1502220196077"
  },
  "paymentIntegratorAccountId": "InvisiCashIN_INR",
  "upiDetails": {
      "vpa": "foo@icici"
  },
  "transactionDescription": "Google - Music",
  "currencyCode": "INR",
  "amount": "728000000"
}

תגובה לדוגמה נראית כך:


{
  "responseHeader": {
    "responseTimestamp": "1481900013178"
  },
  "result": "ACKNOWLEDGED",
  "paymentIntegratorTransactionId": "aW50ZWdyYXRvciB0cmFuc2FjdGlvbiBpZA"
}

בקשת HTTP

POST https://www.integratorhost.example.com/v1/asynchronousCapture

גוף הבקשה

גוף הבקשה מכיל נתונים במבנה הבא:

ייצוג JSON
{
  "requestHeader": {
    object (RequestHeader)
  },
  "paymentIntegratorAccountId": string,
  "transactionDescription": string,
  "currencyCode": string,
  "amount": string,

  // Union field fopDetails can be only one of the following:
  "upiDetails": {
    object (UpiDetails)
  },
  "tokenizedInstrumentDetails": {
    object (TokenizedInstrumentDetails)
  }
  // End of list of possible types for union field fopDetails.
}
שדות
requestHeader

object (RequestHeader)

חובה: כותרת משותפת לכל הבקשות.

paymentIntegratorAccountId

string

חובה: זהו מזהה החשבון של הכלי לשילוב תשלומים שמזהה מגבלות חוזיות בנוגע לעסקה.

transactionDescription

string

חובה: התיאור של העסקה שאפשר להוסיף לדף החשבון של הלקוח. הותאם ל-userLocale שנמצא ב-requestHeader. ניתן לשנות את הפורמט הזה ללא הודעה מראש ואסור לנתח אותו אף פעם.

currencyCode

string

חובה: קוד מטבע בן 3 אותיות לפי תקן ISO 4217

amount

string (Int64Value format)

חובה: סכום הרכישה, במיליוניות השנייה של יחידת המטבע.

שדה איחוד fopDetails.

fopDetails יכול להיות רק אחת מהאפשרויות הבאות:

upiDetails

object (UpiDetails)

אופציונלי: פרטי תשלום ספציפיים לאמצעי תשלום בממשק תשלומים מאוחד (UPI).

tokenizedInstrumentDetails

object (TokenizedInstrumentDetails)

אופציונלי: פרטי תשלום ספציפיים לאמצעי תשלום שעברו הצפנה באמצעות אסימון (טוקניזציה).

גוף התשובה

אובייקט תגובה לשיטת הצילום.

אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל נתונים במבנה הבא:

ייצוג JSON
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "paymentIntegratorTransactionId": string,
  "result": enum (AsynchronousCaptureResultCode)
}
שדות
responseHeader

object (ResponseHeader)

חובה: כותרת משותפת לכל התשובות.

paymentIntegratorTransactionId

string

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

לנוחיותכם, המזהה הזה נכלל בפרטי ההעברה

result

enum (AsynchronousCaptureResultCode)

חובה: התוצאה של הפעלת ההקלטה האסינכרונית.

UpiDetails

פרטים על חשבון ממשק התשלומים המאוחד (UPI) שממנו יש לצלם.

ייצוג JSON
{
  "vpa": string
}
שדות
vpa

string

חובה: כתובת התשלום הווירטואלי (VPA) של המשתמש שמשמשת להעברת כסף באמצעות פרוטוקול ממשק התשלומים המאוחד (UPI). לדוגמה, foo@icici.

TokenizedInstrumentDetails

פרטים על החשבון שממנו רוצים לקבל את הנתונים.

ייצוג JSON
{
  "googlePaymentToken": string
}
שדות
googlePaymentToken

string

חובה: זהו האסימון שישמש את שתי החברות כדי לזהות את החשבון לרכישות בין שתי החברות.

AsynchronousCaptureResultCode

קודי תוצאות של צילום אסינכרוני.

טיפוסים בני מנייה (enum)
UNKNOWN_RESULT אל תגדירו את ערך ברירת המחדל הזה אף פעם!
ACKNOWLEDGED התקבלה בקשה לתיעוד, והיוצר יבצע פעולות נוספות כדי לקבוע אם הצילום הצליח או נדחה. אחרי שמבצע השילוב יידע את תוצאות הצילום, הוא יודיע ל-Google על התוצאה באמצעות קריאה ל-API של captureResultNotification.
ACCOUNT_CLOSED

חשבון המשתמש, שהיה מנוהל אצל מבצע השילוב, נסגר.

החזרת הערך הזה תגרום לסגירת אמצעי התשלום של המשתמש ב-Google. המשתמש ייאלץ להוסיף אמצעי תשלום חדש על ידי ביצוע חוזר של תהליך השיוך.

ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER

חשבון המשתמש אצל מבצע השילוב נסגר, חשד להשתלטות על חשבון.

החזרת הערך הזה תגרום לסגירת אמצעי התשלום של המשתמש ב-Google. המשתמש ייאלץ להוסיף אמצעי תשלום חדש על ידי ביצוע חוזר של תהליך השיוך.

ACCOUNT_ON_HOLD החשבון נמצא בהשהיה.
ACCOUNT_CLOSED_FRAUD

חשבון המשתמש, שהיה שמור אצל מבצע השילוב, נסגר עקב הונאה.

החזרת הערך הזה תגרום לסגירת אמצעי התשלום של המשתמש ב-Google. המשתמש ייאלץ להוסיף אמצעי תשלום חדש על ידי ביצוע חוזר של תהליך השיוך.