Method: remittanceStatementDetails

इससे रेमिटेंस स्टेटमेंट के लेन-देन की जानकारी मिलती है.

यह पेज वाला एपीआई है. numberOfEvents की मदद से, हर पेज पर ट्रांज़ैक्शन इवेंट की संख्या तय की जा सकती है. अगर इसे तय नहीं किया गया है, तो हर पेज पर ज़्यादा से ज़्यादा 1,000 इवेंट दिखेंगे. इस एपीआई को किए गए हर अनुरोध पर, आपको nextEventOffset मिलेगा. यह स्टेटमेंट में मौजूद अगले लेन-देन वाले इवेंट की ओर इशारा करता है. साथ ही, आपको totalEvents मिलेगा. यह स्टेटमेंट में मौजूद लेन-देन की कुल संख्या के बारे में बताता है. अगर फ़ेच किए गए मौजूदा पेज में स्टेटमेंट के आखिरी लेन-देन शामिल हैं, तो जवाब में nextEventOffset मौजूद नहीं होगा.

statementId की वैल्यू, remittanceStatementNotificationRequest से मिली requestId है

अगर अनुरोध को प्रोसेस करते समय एंडपॉइंट में कोई गड़बड़ी होती है, तो इस एंडपॉइंट से मिलने वाला जवाब ErrorResponse टाइप का होगा.

अगर यह तरीका एचटीटीपी 200 नहीं दिखाता है, तो इस क्वेरी के जवाब खाली हो सकते हैं. जवाब के मुख्य हिस्से में कोई जानकारी नहीं होती है. ऐसा तब होता है, जब ErrorResponse का इस्तेमाल करके हमलावर को, पेमेंट इंटिग्रेटर के अन्य इंटिग्रेटर के खाते की पहचान करने वाले आईडी के बारे में जानकारी मिल सकती है. इन स्थितियों में, यह तरीका एक खाली बॉडी के साथ एचटीटीपी 404 दिखाएगा. ये स्थितियां तब होती हैं, जब साइनिंग कुंजी मेल नहीं खाती, पेमेंट इंटिग्रेटर आइडेंटिफ़ायर नहीं मिला या एन्क्रिप्शन कुंजी का पता नहीं चला. अगर अनुरोध के हस्ताक्षर की पुष्टि की जा सकती है, तो गड़बड़ी के बारे में ज़्यादा जानकारी, जवाब के मुख्य हिस्से में दी जाएगी.

अनुरोध का उदाहरण:


{
  "requestHeader": {
    "protocolVersion": {
      "major": 1,
      "minor": 0,
      "revision": 0
    },
    "requestId": "statement_detail_request_139932019",
    "requestTimestamp": "1502551332087"
  },
  "paymentIntegratorAccountId": "InvisiCashUSA_USD",
  "statementId": "0123434-statement-abc",
  "numberOfEvents": 4
}

जवाब का उदाहरण यहां दिया गया है:


{
  "responseHeader": {
    "responseTimestamp": "1481900013178"
  },
  "eventOffset": 0,
  "nextEventOffset": 4,
  "totalEvents": 15,
  "remittanceStatementSummary": {
    "statementDate": "1502521200000",
    "billingPeriod": {
      "startDate": "1502434800000",
      "endDate": "1502434800000"
    },
    "dateDue": "1502348400000",
    "currencyCode": "INR",
    "totalDueByIntegrator": "1076000000",
    "remittanceInstructions": {
      "memoLineId": "stmt-1AB-pp0-invisi"
    }
  },
  "captureEvents": [
    {
      "eventRequestId": "bWVyY2hhbnQgdHJhbnNhY3Rpb24gaWQ",
      "paymentIntegratorEventId": "ioj32SOIjf23oijSDfoij",
      "eventCharge": "700000000",
      "eventFee": "-28000000"
    },
    {
      "eventRequestId": "Ggghvh78200PQ3Yrpb",
      "paymentIntegratorEventId": "iasdf23dSdfijSDfoij",
      "eventCharge": "800000000",
      "eventFee": "-32000000"
    }
  ],
  "refundEvents": [
    {
      "eventRequestId": "liUrreQY233839dfFFb24gaQM",
      "paymentIntegratorEventId": "asd3SDf3f3oijSDfoij",
      "eventCharge": "-200000000",
      "eventFee": "8000000"
    },
    {
      "eventRequestId": "IIghhhUrreQY233839II9qM==",
      "paymentIntegratorEventId": "DFjidoso12FSDFSDE",
      "eventCharge": "-150000000",
      "eventFee": "6000000"
    }
  ]
}

एचटीटीपी अनुरोध

POST https://vgw.googleapis.com/secure-serving/gsp/v1/remittanceStatementDetails/:PIAID

अनुरोध का मुख्य भाग

अनुरोध के मुख्य हिस्से में, इस स्ट्रक्चर का डेटा शामिल होता है:

JSON के काेड में दिखाना
{
  "requestHeader": {
    object (RequestHeader)
  },
  "paymentIntegratorAccountId": string,
  "statementId": string,
  "eventOffset": integer,
  "numberOfEvents": integer
}
फ़ील्ड
requestHeader

object (RequestHeader)

ज़रूरी है: सभी अनुरोधों के लिए सामान्य हेडर.

paymentIntegratorAccountId

string

ज़रूरी है: यह पेमेंट इंटिग्रेटर खाते का आइडेंटिफ़ायर है. इससे इस स्टेटमेंट से जुड़ी कानूनी बाध्यताओं की पहचान होती है.

statementId

string

ज़रूरी है: स्टेटमेंट की सूचना का अनुरोध आईडी.

eventOffset

integer

ज़रूरी नहीं है: इस ऑफ़सेट से शुरू होने वाले सामान लौटाने के इवेंट. अगर कोई टोकन वापस मिला है, तो इसे nextEventOffset पर सेट करें. अगर यह पहला अनुरोध है, तो इसे सेट न करें. अगर eventOffset की वैल्यू शून्य है, तो इवेंट पहले इवेंट से शुरू होकर वापस आ जाएंगे. अगर यह संख्या दो है, तो तीसरे इवेंट से शुरू होने वाले इवेंट दिखाए जाएंगे. अगर इसे तय नहीं किया गया है, तो eventOffset को शून्य माना जाएगा.

numberOfEvents

integer

ज़रूरी नहीं: हर पेज पर दिखाए जाने वाले इवेंट की संख्या. अगर कोई जानकारी नहीं दी गई है या वैल्यू 1,000 से ज़्यादा है, तो यह 1,000 पर सेट हो जाएगी.

जवाब का मुख्य भाग

रेमिटेंस स्टेटमेंट की जानकारी देने वाले तरीके के लिए रिस्पॉन्स ऑब्जेक्ट.

अगर एपीआई सही से जुड़ जाता है, ताे जवाब के मुख्य भाग में नीचे दिए गए स्ट्रक्चर शामिल होता है.

JSON फ़ॉर्मैट में दिखाया गया है
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "remittanceStatementSummary": {
    object (RemittanceStatementSummary)
  },
  "eventOffset": integer,
  "nextEventOffset": integer,
  "totalEvents": integer,
  "totalWithholdingTaxes": string,
  "captureEvents": [
    {
      object (Event)
    }
  ],
  "refundEvents": [
    {
      object (Event)
    }
  ],
  "reverseRefundEvents": [
    {
      object (Event)
    }
  ],
  "chargebackEvents": [
    {
      object (Event)
    }
  ],
  "reverseChargebackEvents": [
    {
      object (Event)
    }
  ],
  "adjustmentEvents": [
    {
      object (Event)
    }
  ]
}
फ़ील्ड
responseHeader

object (ResponseHeader)

ज़रूरी है: सभी जवाबों के लिए सामान्य हेडर.

remittanceStatementSummary

object (RemittanceStatementSummary)

ज़रूरी है: रेमिटेंस स्टेटमेंट की खास जानकारी.

eventOffset

integer

ज़रूरी है: इस जवाब का इवेंट ऑफ़सेट.

nextEventOffset

integer

ज़रूरी नहीं है: यह पैरामीटर, वापस लाए जाने वाले अगले इवेंट का ऑफ़सेट दिखाता है. अगर यह तय नहीं किया गया है, तो इस स्टेटमेंट के लिए कोई और इवेंट नहीं मिलेगा.

totalEvents

integer

ज़रूरी है: इस स्टेटमेंट में मौजूद इवेंट की कुल संख्या.

totalWithholdingTaxes

string (Int64Value format)

ज़रूरी है: इस स्टेटमेंट के लिए रोके गए सभी टैक्स का कुल योग.

यह वैल्यू माइक्रो में होती है.

captureEvents[]

object (Event)

ज़रूरी है: कैप्चर किए गए इवेंट का सेट.

refundEvents[]

object (Event)

ज़रूरी है: रिफ़ंड इवेंट का सेट.

reverseRefundEvents[]

object (Event)

ज़रूरी नहीं: रिफ़ंड वापस लेने से जुड़े इवेंट का सेट.

chargebackEvents[]

object (Event)

ज़रूरी नहीं: चार्जबैक इवेंट का सेट.

reverseChargebackEvents[]

object (Event)

ज़रूरी नहीं है: रिवर्स चार्जबैक इवेंट का सेट.

adjustmentEvents[]

object (Event)

ज़रूरी नहीं: अडजस्टमेंट इवेंट का सेट. बिलिंग में हुई गड़बड़ियों को ठीक करने के लिए, Google अपनी मर्ज़ी से अडजस्टमेंट इवेंट जोड़ सकता है. उदाहरण के लिए, अगर पिछले कुछ लेन-देन के लिए कम शुल्क लिया गया था, तो इंटिग्रेटर को पूरा शुल्क चुकाने के लिए अडजस्टमेंट का इस्तेमाल किया जा सकता है.

RemittanceStatementSummary

रेमिटेंस स्टेटमेंट के बारे में खास जानकारी देने वाला ऑब्जेक्ट.

JSON के काेड में दिखाना
{
  "statementDate": string,
  "billingPeriod": {
    object (BillingPeriod)
  },
  "dateDue": string,
  "currencyCode": string,
  "totalDueByIntegrator": string,
  "remittanceInstructions": {
    object (RemittanceInstructions)
  }
}
फ़ील्ड
statementDate

string (int64 format)

ज़रूरी है: अमेरिका/लॉस एंजेलिस के हिसाब से, वह तारीख जब यह स्टेटमेंट बनाया गया था.

billingPeriod

object (BillingPeriod)

ज़रूरी है: यह स्टेटमेंट, बिलिंग की उस अवधि के बारे में बताता है जिसके लिए इसे जनरेट किया गया है.

dateDue

string (int64 format)

ज़रूरी नहीं: रेमिटेंस की तारीख. इसे Epoch के बाद के मिलीसेकंड के तौर पर दिखाया जाता है. यह एक तारीख है. इसलिए, यह हमेशा बिलिंग के टाइमज़ोन में दिन के पहले मिलीसेकंड से शुरू होगी.

यह तब तक सेट रहता है, जब तक totalDueByIntegrator की वैल्यू 0 से ज़्यादा होती है.

currencyCode

string

ज़रूरी है: आईएसओ 4217 का तीन अक्षरों वाला करंसी कोड.

totalDueByIntegrator

string (Int64Value format)

ज़रूरी है: यह वैल्यू, currencyCode की मुद्रा में माइक्रोज़ में होती है. यह वैल्यू हमेशा पॉज़िटिव होती है.

remittanceInstructions

object (RemittanceInstructions)

ज़रूरी है: पेमेंट करने का तरीका

BillingPeriod

इस स्टेटमेंट की बिलिंग अवधि.

JSON के काेड में दिखाना
{
  "startDate": string,
  "endDate": string
}
फ़ील्ड
startDate

string (int64 format)

ज़रूरी है: बिलिंग अवधि के शुरू होने की तारीख. इसे Epoch के बाद के मिलीसेकंड के तौर पर दिखाया जाता है. यह एक तारीख है. इसलिए, यह हमेशा बिलिंग के टाइमज़ोन में दिन के पहले मिलीसेकंड से शुरू होगी.

यह बिलिंग अवधि के दिन का पहला मिलीसेकंड है, 00:00:00.000

endDate

string (int64 format)

ज़रूरी है: बिलिंग अवधि के खत्म होने की तारीख. इसे Epoch के बाद के मिलीसेकंड के तौर पर दिखाया जाता है.

यह बिलिंग अवधि के आखिरी दिन का आखिरी मिलीसेकंड है, 23:59:59.999

RemittanceInstructions

इस स्ट्रक्चर में, रेमिटेंस की सूचना के लिए पेमेंट करने के तरीके के बारे में जानकारी होती है.

JSON के काेड में दिखाना
{
  "memoLineId": string
}
फ़ील्ड
memoLineId

string

ज़रूरी है: यह आइडेंटिफ़ायर, रेमिटेंस की पहचान करने के लिए पेमेंट की मेमो लाइन में डालना ज़रूरी है.

इवेंट

रेमिटेंस स्टेटमेंट में शामिल किसी एक इवेंट को दिखाने वाला स्ट्रक्चर.

JSON के काेड में दिखाना
{
  "eventRequestId": string,
  "paymentIntegratorEventId": string,
  "eventCharge": string,
  "eventFee": string,
  "presentmentChargeAmount": string,
  "presentmentCurrencyCode": string,
  "exchangeRate": string,
  "nanoExchangeRate": string
}
फ़ील्ड
eventRequestId

string

ज़रूरी है: कैप्चर या रिफ़ंड इवेंट के लिए, यह वह requestId होगा जिसे Google, अनुरोध के साथ भेजता है. रिवर्स रिफ़ंड, चार्जबैक, और रिवर्स चार्जबैक इवेंट के लिए, यह requestId होगा. पेमेंट इंटिग्रेटर, इस इवेंट की सूचना के साथ इसे भेजता है. बदलावों के लिए, यह Google की ओर से बदलाव वाले इवेंट को असाइन किया गया यूनीक आईडी होगा.

paymentIntegratorEventId

string

ज़रूरी है: पेमेंट इंटिग्रेटर ने इस इवेंट के लिए जो आईडी दिया है उसे डालें. कैप्चर के लिए, यह capture कॉल के जवाब से मिला paymentIntegratorTransactionId होता है. रिफ़ंड के लिए, यह refund कॉल के जवाब से मिला paymentIntegratorRefundId होता है.

इस फ़ील्ड की लंबाई अलग-अलग हो सकती है. इंटिग्रेटर के तौर पर, इस इवेंट के लिए आपने जो भी आईडी दिया होगा वह यहां दिखेगा. अगर इंटिग्रेटर ने इवेंट के लिए कोई वैल्यू नहीं दी है, तो इस फ़ील्ड में वही वैल्यू होगी जो eventRequestId फ़ील्ड में है.

रिवर्स रिफ़ंड, चार्जबैक, और रिवर्स चार्जबैक इवेंट के लिए, यह requestId होगा. इसे पेमेंट इंटिग्रेटर ने इवेंट की सूचना के साथ भेजा था.

इस फ़ील्ड की लंबाई और फ़ॉर्मैट, हर आईडी के सोर्स फ़ील्ड पर निर्भर करता है. लंबाई और वर्ण सेट से जुड़ी ज़रूरी शर्तों के बारे में जानने के लिए, हर सोर्स फ़ील्ड का दस्तावेज़ देखें. खास तौर पर, ध्यान दें कि इस फ़ील्ड में कभी-कभी Google के जनरेट किए गए आईडी शामिल हो सकते हैं. इनकी ज़्यादा से ज़्यादा लंबाई, इंटिग्रेटर के जनरेट किए गए आईडी से अलग हो सकती है.

eventCharge

string (Int64Value format)

ज़रूरी है: स्टेटमेंट में तय किए गए मुद्रा कोड में. अगर यह वैल्यू नेगेटिव है, तो इसका मतलब है कि Google से पेमेंट इंटिग्रेटर को मॉनेटरी वैल्यू भेजी जा रही है. अगर यह वैल्यू पॉज़िटिव है, तो इसका मतलब है कि पेमेंट इंटिग्रेटर को Google को यह रकम देनी है.

उदाहरण के लिए, कैप्चर किए गए लेन-देन हमेशा पॉज़िटिव होंगे और रिफ़ंड किए गए लेन-देन हमेशा नेगेटिव होंगे. रिवर्स रिफ़ंड और रिवर्स चार्जबैक इवेंट हमेशा पॉज़िटिव होंगे. चार्जबैक इवेंट हमेशा नेगेटिव होंगे.

यह वैल्यू माइक्रो में होती है.

eventFee

string (Int64Value format)

ज़रूरी है: स्टेटमेंट में तय किए गए मुद्रा कोड में. अगर यह वैल्यू नेगेटिव है, तो इसका मतलब है कि Google से पेमेंट इंटिग्रेटर को मॉनेटरी वैल्यू भेजी जा रही है. अगर यह वैल्यू पॉज़िटिव है, तो इसका मतलब है कि पेमेंट इंटिग्रेटर को Google को यह रकम देनी है.

उदाहरण के लिए, अगर किसी समझौते में यह कहा गया है कि Google, पेमेंट इंटिग्रेटर को transactionCharge का 1% हिस्सा देगा और लेन-देन का रिफ़ंड होने पर, वह 1% हिस्सा वापस ले लेगा, तो कैप्चर शुल्क नेगेटिव होगा. साथ ही, रिफ़ंड होने पर रिफ़ंड शुल्क पॉज़िटिव होगा.

यह वैल्यू माइक्रो में होती है.

presentmentChargeAmount

string (Int64Value format)

ज़रूरी नहीं है: विदेशी मुद्रा में पेमेंट करने से पहले, लेन-देन की मुद्रा में लेन-देन की रकम. इसे लेन-देन की मुद्रा भी कहा जाता है. इस फ़ील्ड में भी eventCharge फ़ील्ड के लिए इस्तेमाल किए गए साइन कन्वेंशन का पालन किया जाता है.

यह वैल्यू माइक्रो में होती है.

presentmentCurrencyCode

string

ज़रूरी नहीं है: ISO 4217 का तीन अक्षर वाला मुद्रा कोड, जो लेन-देन की मुद्रा को दिखाता है.

exchangeRate
(deprecated)

string (Int64Value format)

DEPRECATED: यह एक्सचेंज रेट, खरीदार को दिखाई गई कीमत को सेटलमेंट (इनवॉइस) की कीमत में बदलने के लिए इस्तेमाल किया जाता है.

यह वैल्यू, माइक्रो बेसिस पॉइंट में होती है (1 बेसिस पॉइंट = .0001 = .01%). इसका मतलब है कि एक्सचेंज रेट पाने के लिए, इस फ़ील्ड को 10^10 से भाग दें.

nanoExchangeRate

string (Int64Value format)

ज़रूरी नहीं: यह एक्सचेंज रेट, पेमेंट के लिए दिखाई गई रकम को सेटलमेंट (इनवॉइस) की रकम में बदलने के लिए इस्तेमाल किया जाता है. इसे नैनो बेसिस पॉइंट में दिखाया जाता है.

यह वैल्यू, नैनो बेसिस पॉइंट में होती है (1 बेसिस पॉइंट = .0001 = .01%). इसका मतलब है कि एक्सचेंज रेट पाने के लिए, इस फ़ील्ड को 10^13 से भाग दें.

इस फ़ील्ड और exchangeRate, दोनों में वैल्यू भरी जाएगी. ये एक ही एक्सचेंज रेट हैं, जिन्हें अलग-अलग तरीके से दिखाया गया है. आने वाले वर्शन में, exchangeRate को हटाकर nanoExchangeRate का इस्तेमाल किया जाएगा.