- एचटीटीपी अनुरोध
- अनुरोध का मुख्य हिस्सा
- जवाब का मुख्य हिस्सा
- RemittanceStatementSummary
- BillingPeriod
- RemittanceInstructions
- इवेंट
इससे रेमिटेंस स्टेटमेंट के लेन-देन की जानकारी मिलती है.
यह पेज वाला एपीआई है. numberOfEvents की मदद से, हर पेज पर ट्रांज़ैक्शन इवेंट की संख्या तय की जा सकती है. अगर इसे तय नहीं किया गया है, तो हर पेज पर ज़्यादा से ज़्यादा 1,000 इवेंट दिखेंगे. इस एपीआई को किए गए हर अनुरोध पर, आपको nextEventOffset मिलेगा. यह स्टेटमेंट में मौजूद अगले लेन-देन वाले इवेंट की ओर इशारा करता है. साथ ही, आपको totalEvents मिलेगा. यह स्टेटमेंट में मौजूद लेन-देन की कुल संख्या के बारे में बताता है. अगर फ़ेच किए गए मौजूदा पेज में स्टेटमेंट के आखिरी लेन-देन शामिल हैं, तो जवाब में nextEventOffset मौजूद नहीं होगा.
statementId की वैल्यू, remittanceStatementNotificationRequest से मिली requestId है
अगर अनुरोध को प्रोसेस करते समय एंडपॉइंट में कोई गड़बड़ी होती है, तो इस एंडपॉइंट से मिलने वाला जवाब टाइप का होगा.ErrorResponse
अगर यह तरीका एचटीटीपी 200 नहीं दिखाता है, तो इस क्वेरी के जवाब खाली हो सकते हैं. जवाब के मुख्य हिस्से में कोई जानकारी नहीं होती है. ऐसा तब होता है, जब का इस्तेमाल करके हमलावर को, पेमेंट इंटिग्रेटर के अन्य इंटिग्रेटर के खाते की पहचान करने वाले आईडी के बारे में जानकारी मिल सकती है. इन स्थितियों में, यह तरीका एक खाली बॉडी के साथ एचटीटीपी 404 दिखाएगा. ये स्थितियां तब होती हैं, जब साइनिंग कुंजी मेल नहीं खाती, पेमेंट इंटिग्रेटर आइडेंटिफ़ायर नहीं मिला या एन्क्रिप्शन कुंजी का पता नहीं चला. अगर अनुरोध के हस्ताक्षर की पुष्टि की जा सकती है, तो गड़बड़ी के बारे में ज़्यादा जानकारी, जवाब के मुख्य हिस्से में दी जाएगी.ErrorResponse
अनुरोध का उदाहरण:
{
"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 |
ज़रूरी है: यह पेमेंट इंटिग्रेटर खाते का आइडेंटिफ़ायर है. इससे इस स्टेटमेंट से जुड़ी कानूनी बाध्यताओं की पहचान होती है. |
statementId |
ज़रूरी है: स्टेटमेंट की सूचना का अनुरोध आईडी. |
eventOffset |
ज़रूरी नहीं है: इस ऑफ़सेट से शुरू होने वाले सामान लौटाने के इवेंट. अगर कोई टोकन वापस मिला है, तो इसे |
numberOfEvents |
ज़रूरी नहीं: हर पेज पर दिखाए जाने वाले इवेंट की संख्या. अगर कोई जानकारी नहीं दी गई है या वैल्यू 1,000 से ज़्यादा है, तो यह 1,000 पर सेट हो जाएगी. |
जवाब का मुख्य भाग
रेमिटेंस स्टेटमेंट की जानकारी देने वाले तरीके के लिए रिस्पॉन्स ऑब्जेक्ट.
अगर एपीआई सही से जुड़ जाता है, ताे जवाब के मुख्य भाग में नीचे दिए गए स्ट्रक्चर शामिल होता है.
| JSON फ़ॉर्मैट में दिखाया गया है |
|---|
{ "responseHeader": { object ( |
| फ़ील्ड | |
|---|---|
responseHeader |
ज़रूरी है: सभी जवाबों के लिए सामान्य हेडर. |
remittanceStatementSummary |
ज़रूरी है: रेमिटेंस स्टेटमेंट की खास जानकारी. |
eventOffset |
ज़रूरी है: इस जवाब का इवेंट ऑफ़सेट. |
nextEventOffset |
ज़रूरी नहीं है: यह पैरामीटर, वापस लाए जाने वाले अगले इवेंट का ऑफ़सेट दिखाता है. अगर यह तय नहीं किया गया है, तो इस स्टेटमेंट के लिए कोई और इवेंट नहीं मिलेगा. |
totalEvents |
ज़रूरी है: इस स्टेटमेंट में मौजूद इवेंट की कुल संख्या. |
totalWithholdingTaxes |
ज़रूरी है: इस स्टेटमेंट के लिए रोके गए सभी टैक्स का कुल योग. यह वैल्यू माइक्रो में होती है. |
captureEvents[] |
ज़रूरी है: कैप्चर किए गए इवेंट का सेट. |
refundEvents[] |
ज़रूरी है: रिफ़ंड इवेंट का सेट. |
reverseRefundEvents[] |
ज़रूरी नहीं: रिफ़ंड वापस लेने से जुड़े इवेंट का सेट. |
chargebackEvents[] |
ज़रूरी नहीं: चार्जबैक इवेंट का सेट. |
reverseChargebackEvents[] |
ज़रूरी नहीं है: रिवर्स चार्जबैक इवेंट का सेट. |
adjustmentEvents[] |
ज़रूरी नहीं: अडजस्टमेंट इवेंट का सेट. बिलिंग में हुई गड़बड़ियों को ठीक करने के लिए, Google अपनी मर्ज़ी से अडजस्टमेंट इवेंट जोड़ सकता है. उदाहरण के लिए, अगर पिछले कुछ लेन-देन के लिए कम शुल्क लिया गया था, तो इंटिग्रेटर को पूरा शुल्क चुकाने के लिए अडजस्टमेंट का इस्तेमाल किया जा सकता है. |
RemittanceStatementSummary
रेमिटेंस स्टेटमेंट के बारे में खास जानकारी देने वाला ऑब्जेक्ट.
| JSON के काेड में दिखाना |
|---|
{ "statementDate": string, "billingPeriod": { object ( |
| फ़ील्ड | |
|---|---|
statementDate |
ज़रूरी है: अमेरिका/लॉस एंजेलिस के हिसाब से, वह तारीख जब यह स्टेटमेंट बनाया गया था. |
billingPeriod |
ज़रूरी है: यह स्टेटमेंट, बिलिंग की उस अवधि के बारे में बताता है जिसके लिए इसे जनरेट किया गया है. |
dateDue |
ज़रूरी नहीं: रेमिटेंस की तारीख. इसे Epoch के बाद के मिलीसेकंड के तौर पर दिखाया जाता है. यह एक तारीख है. इसलिए, यह हमेशा बिलिंग के टाइमज़ोन में दिन के पहले मिलीसेकंड से शुरू होगी. यह तब तक सेट रहता है, जब तक |
currencyCode |
ज़रूरी है: आईएसओ 4217 का तीन अक्षरों वाला करंसी कोड. |
totalDueByIntegrator |
ज़रूरी है: यह वैल्यू, |
remittanceInstructions |
ज़रूरी है: पेमेंट करने का तरीका |
BillingPeriod
इस स्टेटमेंट की बिलिंग अवधि.
| JSON के काेड में दिखाना |
|---|
{ "startDate": string, "endDate": string } |
| फ़ील्ड | |
|---|---|
startDate |
ज़रूरी है: बिलिंग अवधि के शुरू होने की तारीख. इसे Epoch के बाद के मिलीसेकंड के तौर पर दिखाया जाता है. यह एक तारीख है. इसलिए, यह हमेशा बिलिंग के टाइमज़ोन में दिन के पहले मिलीसेकंड से शुरू होगी. यह बिलिंग अवधि के दिन का पहला मिलीसेकंड है, 00:00:00.000 |
endDate |
ज़रूरी है: बिलिंग अवधि के खत्म होने की तारीख. इसे Epoch के बाद के मिलीसेकंड के तौर पर दिखाया जाता है. यह बिलिंग अवधि के आखिरी दिन का आखिरी मिलीसेकंड है, 23:59:59.999 |
RemittanceInstructions
इस स्ट्रक्चर में, रेमिटेंस की सूचना के लिए पेमेंट करने के तरीके के बारे में जानकारी होती है.
| JSON के काेड में दिखाना |
|---|
{ "memoLineId": string } |
| फ़ील्ड | |
|---|---|
memoLineId |
ज़रूरी है: यह आइडेंटिफ़ायर, रेमिटेंस की पहचान करने के लिए पेमेंट की मेमो लाइन में डालना ज़रूरी है. |
इवेंट
रेमिटेंस स्टेटमेंट में शामिल किसी एक इवेंट को दिखाने वाला स्ट्रक्चर.
| JSON के काेड में दिखाना |
|---|
{ "eventRequestId": string, "paymentIntegratorEventId": string, "eventCharge": string, "eventFee": string, "presentmentChargeAmount": string, "presentmentCurrencyCode": string, "exchangeRate": string, "nanoExchangeRate": string } |
| फ़ील्ड | |
|---|---|
eventRequestId |
ज़रूरी है: कैप्चर या रिफ़ंड इवेंट के लिए, यह वह |
paymentIntegratorEventId |
ज़रूरी है: पेमेंट इंटिग्रेटर ने इस इवेंट के लिए जो आईडी दिया है उसे डालें. कैप्चर के लिए, यह इस फ़ील्ड की लंबाई अलग-अलग हो सकती है. इंटिग्रेटर के तौर पर, इस इवेंट के लिए आपने जो भी आईडी दिया होगा वह यहां दिखेगा. अगर इंटिग्रेटर ने इवेंट के लिए कोई वैल्यू नहीं दी है, तो इस फ़ील्ड में वही वैल्यू होगी जो रिवर्स रिफ़ंड, चार्जबैक, और रिवर्स चार्जबैक इवेंट के लिए, यह इस फ़ील्ड की लंबाई और फ़ॉर्मैट, हर आईडी के सोर्स फ़ील्ड पर निर्भर करता है. लंबाई और वर्ण सेट से जुड़ी ज़रूरी शर्तों के बारे में जानने के लिए, हर सोर्स फ़ील्ड का दस्तावेज़ देखें. खास तौर पर, ध्यान दें कि इस फ़ील्ड में कभी-कभी Google के जनरेट किए गए आईडी शामिल हो सकते हैं. इनकी ज़्यादा से ज़्यादा लंबाई, इंटिग्रेटर के जनरेट किए गए आईडी से अलग हो सकती है. |
eventCharge |
ज़रूरी है: स्टेटमेंट में तय किए गए मुद्रा कोड में. अगर यह वैल्यू नेगेटिव है, तो इसका मतलब है कि Google से पेमेंट इंटिग्रेटर को मॉनेटरी वैल्यू भेजी जा रही है. अगर यह वैल्यू पॉज़िटिव है, तो इसका मतलब है कि पेमेंट इंटिग्रेटर को Google को यह रकम देनी है. उदाहरण के लिए, कैप्चर किए गए लेन-देन हमेशा पॉज़िटिव होंगे और रिफ़ंड किए गए लेन-देन हमेशा नेगेटिव होंगे. रिवर्स रिफ़ंड और रिवर्स चार्जबैक इवेंट हमेशा पॉज़िटिव होंगे. चार्जबैक इवेंट हमेशा नेगेटिव होंगे. यह वैल्यू माइक्रो में होती है. |
eventFee |
ज़रूरी है: स्टेटमेंट में तय किए गए मुद्रा कोड में. अगर यह वैल्यू नेगेटिव है, तो इसका मतलब है कि Google से पेमेंट इंटिग्रेटर को मॉनेटरी वैल्यू भेजी जा रही है. अगर यह वैल्यू पॉज़िटिव है, तो इसका मतलब है कि पेमेंट इंटिग्रेटर को Google को यह रकम देनी है. उदाहरण के लिए, अगर किसी समझौते में यह कहा गया है कि Google, पेमेंट इंटिग्रेटर को यह वैल्यू माइक्रो में होती है. |
presentmentChargeAmount |
ज़रूरी नहीं है: विदेशी मुद्रा में पेमेंट करने से पहले, लेन-देन की मुद्रा में लेन-देन की रकम. इसे लेन-देन की मुद्रा भी कहा जाता है. इस फ़ील्ड में भी यह वैल्यू माइक्रो में होती है. |
presentmentCurrencyCode |
ज़रूरी नहीं है: ISO 4217 का तीन अक्षर वाला मुद्रा कोड, जो लेन-देन की मुद्रा को दिखाता है. |
exchangeRate |
DEPRECATED: यह एक्सचेंज रेट, खरीदार को दिखाई गई कीमत को सेटलमेंट (इनवॉइस) की कीमत में बदलने के लिए इस्तेमाल किया जाता है. यह वैल्यू, माइक्रो बेसिस पॉइंट में होती है (1 बेसिस पॉइंट = .0001 = .01%). इसका मतलब है कि एक्सचेंज रेट पाने के लिए, इस फ़ील्ड को 10^10 से भाग दें. |
nanoExchangeRate |
ज़रूरी नहीं: यह एक्सचेंज रेट, पेमेंट के लिए दिखाई गई रकम को सेटलमेंट (इनवॉइस) की रकम में बदलने के लिए इस्तेमाल किया जाता है. इसे नैनो बेसिस पॉइंट में दिखाया जाता है. यह वैल्यू, नैनो बेसिस पॉइंट में होती है (1 बेसिस पॉइंट = .0001 = .01%). इसका मतलब है कि एक्सचेंज रेट पाने के लिए, इस फ़ील्ड को 10^13 से भाग दें. इस फ़ील्ड और exchangeRate, दोनों में वैल्यू भरी जाएगी. ये एक ही एक्सचेंज रेट हैं, जिन्हें अलग-अलग तरीके से दिखाया गया है. आने वाले वर्शन में, exchangeRate को हटाकर nanoExchangeRate का इस्तेमाल किया जाएगा. |