اطلاعات مربوط به جزئیات تراکنش مربوط به یک صورتحساب حواله را برمیگرداند.
این یک API صفحهبندی شده است. تعداد رویدادهای تراکنش در هر صفحه را میتوان با numberOfEvents مشخص کرد. در صورت عدم تعیین، حداکثر ۱۰۰۰ رویداد در هر صفحه بازگردانده میشود. هر درخواست به این API یک nextEventOffset که به رویداد تراکنش بعدی در دستور اشاره میکند، و همچنین totalEvents که تعداد کل تراکنشهای موجود در دستور را مشخص میکند، برمیگرداند. اگر صفحه بازیابی شده فعلی حاوی آخرین تراکنشهای دستور باشد، nextEventOffset در پاسخ وجود نخواهد داشت.
مقدار statementId requestId از remittanceStatementNotificationRequest است.
اگر نقطه پایانی هنگام پردازش درخواست با خطایی مواجه شود، پاسخ از این نقطه پایانی از نوع خواهد بود.ErrorResponse
اگر این روش HTTP 200 را برنگرداند، پاسخهای این پرسوجو ممکن است خالی باشند. بدنه پاسخ در شرایطی خالی است که یک با توضیحات واضح میتواند برای کمک به مهاجم در درک شناسه حساب یکپارچهساز پرداخت سایر یکپارچهسازها استفاده شود. در این شرایط، که یا کلید امضا مطابقت ندارد، شناسه یکپارچهساز پرداخت یافت نشده است، یا کلید رمزگذاری ناشناخته است، این روش یک HTTP 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"
}
]
}
درخواست HTTP
POST https://vgw.googleapis.com/secure-serving/gsp/v1/remittanceStatementDetails/ :PIAID
درخواست بدنه
بدنه درخواست شامل دادههایی با ساختار زیر است:
| نمایش JSON |
|---|
{
"requestHeader": {
object ( |
| فیلدها | |
|---|---|
requestHeader | الزامی : سربرگ مشترک برای همه درخواستها. |
paymentIntegratorAccountId | الزامی : این شناسه حساب یکپارچهساز پرداخت است که محدودیتهای قراردادی پیرامون این بیانیه را مشخص میکند. |
statementId | الزامی : درخواست شناسه اعلان صورتحساب. |
eventOffset | اختیاری : رویدادهایی را که از این آفست شروع میشوند، برمیگرداند. اگر یکی برگردانده شده باشد، باید روی |
numberOfEvents | اختیاری : تعداد رویدادهایی که در هر صفحه نمایش داده میشوند. اگر مشخص نشده باشد یا بیشتر از ۱۰۰۰ باشد، ۱۰۰۰ خواهد بود. |
بدنه پاسخ
شیء پاسخ برای روش جزئیات صورتحساب حواله.
در صورت موفقیت، بدنه پاسخ شامل دادههایی با ساختار زیر است:
| نمایش JSON |
|---|
{ "responseHeader": { object ( |
| فیلدها | |
|---|---|
responseHeader | الزامی : سربرگ مشترک برای همه پاسخها. |
remittanceStatementSummary | الزامی : خلاصهای از این صورتحساب حواله. |
eventOffset | الزامی : آفست رویداد این پاسخ. |
nextEventOffset | اختیاری : مقدار اولیهی رویداد بعدی که قرار است برگردانده شود. اگر مشخص نشود، رویداد دیگری برای بازیابی در این دستور وجود ندارد. |
totalEvents | الزامی : تعداد کل رویدادهای موجود در این بیانیه. |
totalWithholdingTaxes | الزامی : مجموع تمام مالیاتهای کسر شده برای این صورتحساب. این مقدار بر حسب میکرو است. |
captureEvents[] | مورد نیاز : مجموعه رویدادهای ضبط. |
refundEvents[] | الزامی : مجموعه رویدادهای بازپرداخت. |
reverseRefundEvents[] | اختیاری : مجموعه رویدادهای بازپرداخت معکوس. |
chargebackEvents[] | اختیاری : مجموعه رویدادهای بازگشت وجه. |
reverseChargebackEvents[] | اختیاری : مجموعه رویدادهای بازگشت وجه معکوس. |
adjustmentEvents[] | اختیاری : مجموعهای از رویدادهای تعدیل. رویدادهای تعدیل ممکن است به صلاحدید گوگل برای تطبیق اختلافات صورتحساب اضافه شوند، به عنوان مثال اگر هزینهها برای مجموعهای از تراکنشهای قبلی کمتر از حد محاسبه شده باشند، میتوان از یک تعدیل برای کامل کردن یکپارچهساز استفاده کرد. |
خلاصه صورتحساب حواله
خلاصه موضوع در مورد صورتحساب حواله.
| نمایش JSON |
|---|
{ "statementDate": string, "billingPeriod": { object ( |
| فیلدها | |
|---|---|
statementDate | الزامی : تاریخ (در آمریکا/لسآنجلس) که این بیانیه ایجاد شده است. |
billingPeriod | الزامی : دوره صورتحسابی که این بیانیه پوشش میدهد. |
dateDue | اختیاری : تاریخی که وجه باید پرداخت شود. این تاریخ به صورت میلیثانیه از epoch نمایش داده میشود. این یک تاریخ است (و بنابراین همیشه از اولین میلیثانیه روز در منطقه زمانی صورتحساب شروع میشود). این تا زمانی تنظیم میشود که |
currencyCode | مورد نیاز : کد ارزی سه حرفی ISO 4217. |
totalDueByIntegrator | الزامی : این مقدار بر حسب میکرو و بر اساس واحد پول |
remittanceInstructions | مورد نیاز : جزئیات نحوه پرداخت وجه |
دوره صورتحساب
دوره صورتحساب این بیانیه.
| نمایش JSON |
|---|
{ "startDate": string, "endDate": string } |
| فیلدها | |
|---|---|
startDate | الزامی : تاریخ شروع دوره صورتحساب. این تاریخ به صورت میلیثانیه از epoch نمایش داده میشود. این یک تاریخ است (و بنابراین همیشه از اولین میلیثانیه روز در منطقه زمانی صورتحساب شروع میشود). این اولین میلیثانیه از روز دوره صورتحساب است، 00:00:00.000 |
endDate | الزامی : تاریخ پایان دوره صورتحساب. این تاریخ به صورت میلیثانیه از epoch نمایش داده میشود. این آخرین میلیثانیه از آخرین روز دوره صورتحساب است، ۲۳:۵۹:۵۹.۹۹۹ |
دستورالعملهای حواله
ساختار حاوی اطلاعات مربوط به نحوه پرداخت این اعلان حواله.
| نمایش JSON |
|---|
{ "memoLineId": string } |
| فیلدها | |
|---|---|
memoLineId | الزامی : شناسهای که درج آن در سطر یادداشت برای شناسایی حواله پرداختی اجباری است. |
رویداد
ساختاری که نشاندهنده یک رویداد واحد است که در صورتحساب حواله لحاظ شده است.
| نمایش JSON |
|---|
{ "eventRequestId": string, "paymentIntegratorEventId": string, "eventCharge": string, "eventFee": string, "presentmentChargeAmount": string, "presentmentCurrencyCode": string, "exchangeRate": string, "nanoExchangeRate": string } |
| فیلدها | |
|---|---|
eventRequestId | الزامی : برای رویدادهای ضبط یا بازپرداخت، این همان |
paymentIntegratorEventId | الزامی : شناسهای که یکپارچهساز پرداخت برای این رویداد برگردانده است. برای ضبط، این شناسه این فیلد طول متغیری دارد، به عنوان یک انتگرالگیر، هر شناسهای که برای این رویداد ارائه دهید، در اینجا منعکس خواهد شد. اگر مقداری توسط انتگرالگیر برای رویداد مربوطه ارائه نشده باشد، این فیلد حاوی همان مقدار فیلد برای رویدادهای بازپرداخت معکوس، بازپرداخت وجه و بازپرداخت وجه معکوس، این همان طول و قالب این فیلد به فیلد منبع برای هر شناسه بستگی دارد. برای جزئیات بیشتر در مورد الزامات طول و مجموعه کاراکتر، به مستندات هر یک از فیلدهای منبع مراجعه کنید. به طور خاص، توجه داشته باشید که این فیلد گاهی اوقات میتواند حاوی شناسههای تولید شده توسط گوگل باشد که ممکن است الزامات حداکثر طول متفاوتی نسبت به شناسههای تولید شده توسط یکپارچهساز داشته باشند. |
eventCharge | الزامی : در کد ارزی که توسط دستور تعریف شده است. اگر این مقدار منفی باشد، نشان دهندهی انتقال ارزش پولی از گوگل به یکپارچهساز پرداخت است. اگر مثبت باشد، پولی است که از یکپارچهساز پرداخت به گوگل پرداخت میشود. برای مثال، تراکنشهای ضبط همیشه مثبت و تراکنشهای بازپرداخت همیشه منفی خواهند بود. رویدادهای بازپرداخت معکوس و بازپرداخت معکوس همیشه مثبت خواهند بود. رویدادهای بازپرداخت همیشه منفی خواهند بود. این مقدار بر حسب میکرو است. |
eventFee | الزامی : در کد ارزی که توسط دستور تعریف شده است. اگر این مقدار منفی باشد، نشان دهندهی انتقال ارزش پولی از گوگل به یکپارچهساز پرداخت است. اگر مثبت باشد، پولی است که از یکپارچهساز پرداخت به گوگل پرداخت میشود. برای مثال، اگر در توافقنامهای قید شده باشد که گوگل ۱٪ از این مقدار بر حسب میکرو است. |
presentmentChargeAmount | اختیاری : مبلغ تراکنش به ارز ارائه شده (که به آن تراکنش هم میگویند) قبل از تبدیل ارز خارجی. این فیلد از همان قرارداد علامت فیلد این مقدار بر حسب میکرو است. |
presentmentCurrencyCode | اختیاری : کد ارزی سه حرفی ISO 4217 که واحد پول ارائه شده (معامله) را مشخص میکند. |
exchangeRate | منسوخشده : نرخ ارزی که برای تبدیل مبلغ ارائه شده به مبلغ تسویه (فاکتور) استفاده میشود. این مقدار بر حسب میکرو پوینت است (۱ پوینت = ۰.۰۰۰۱ = ۰.۰۱%). یعنی برای بدست آوردن نرخ ارز، این فیلد را بر ۱۰^۱۰ تقسیم کنید. |
nanoExchangeRate | اختیاری : نرخ ارز مورد استفاده در تبدیل مبلغ ارائه شده به مبلغ تسویه حساب (فاکتور)، که بر حسب نانو پوینت بیان میشود. این مقدار بر حسب نانو پوینت است (۱ پوینت = .۰۰۰۱ = .۰۱%). یعنی برای بدست آوردن نرخ ارز، این فیلد را بر ۱۰^۱۳ تقسیم کنید. هم این فیلد و هم exchangeRate پر خواهند شد. آنها نرخهای ارز معادلی هستند که با دقت متفاوتی بیان شدهاند. در نسخههای آینده، exchangeRate به نفع nanoExchangeRate حذف خواهد شد. |