Method: remittanceStatementDetails

اطلاعات مربوط به جزئیات تراکنش مربوط به یک صورتحساب حواله را برمی‌گرداند.

این یک API صفحه‌بندی شده است. تعداد رویدادهای تراکنش در هر صفحه را می‌توان با numberOfEvents مشخص کرد. در صورت عدم تعیین، حداکثر ۱۰۰۰ رویداد در هر صفحه بازگردانده می‌شود. هر درخواست به این API یک nextEventOffset که به رویداد تراکنش بعدی در دستور اشاره می‌کند، و همچنین totalEvents که تعداد کل تراکنش‌های موجود در دستور را مشخص می‌کند، برمی‌گرداند. اگر صفحه بازیابی شده فعلی حاوی آخرین تراکنش‌های دستور باشد، nextEventOffset در پاسخ وجود نخواهد داشت.

مقدار statementId requestId از remittanceStatementNotificationRequest است.

اگر نقطه پایانی هنگام پردازش درخواست با خطایی مواجه شود، پاسخ از این نقطه پایانی از نوع ErrorResponse خواهد بود.

اگر این روش HTTP 200 را برنگرداند، پاسخ‌های این پرس‌وجو ممکن است خالی باشند. بدنه پاسخ در شرایطی خالی است که یک ErrorResponse با توضیحات واضح می‌تواند برای کمک به مهاجم در درک شناسه حساب یکپارچه‌ساز پرداخت سایر یکپارچه‌سازها استفاده شود. در این شرایط، که یا کلید امضا مطابقت ندارد، شناسه یکپارچه‌ساز پرداخت یافت نشده است، یا کلید رمزگذاری ناشناخته است، این روش یک HTTP 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"
    }
  ]
}

درخواست HTTP

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

اختیاری : تعداد رویدادهایی که در هر صفحه نمایش داده می‌شوند. اگر مشخص نشده باشد یا بیشتر از ۱۰۰۰ باشد، ۱۰۰۰ خواهد بود.

بدنه پاسخ

شیء پاسخ برای روش جزئیات صورت‌حساب حواله.

در صورت موفقیت، بدنه پاسخ شامل داده‌هایی با ساختار زیر است:

نمایش 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 )

اختیاری : مجموعه‌ای از رویدادهای تعدیل. رویدادهای تعدیل ممکن است به صلاحدید گوگل برای تطبیق اختلافات صورتحساب اضافه شوند، به عنوان مثال اگر هزینه‌ها برای مجموعه‌ای از تراکنش‌های قبلی کمتر از حد محاسبه شده باشند، می‌توان از یک تعدیل برای کامل کردن یکپارچه‌ساز استفاده کرد.

خلاصه صورت‌حساب حواله

خلاصه موضوع در مورد صورتحساب حواله.

نمایش 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 بزرگتر از ۰ باشد.

currencyCode

string

مورد نیاز : کد ارزی سه حرفی ISO 4217.

totalDueByIntegrator

string ( Int64Value format)

الزامی : این مقدار بر حسب میکرو و بر اساس واحد پول currencyCode است. این مقدار همیشه مثبت است.

remittanceInstructions

object ( RemittanceInstructions )

مورد نیاز : جزئیات نحوه پرداخت وجه

دوره صورتحساب

دوره صورتحساب این بیانیه.

نمایش JSON
{
  "startDate": string,
  "endDate": string
}
فیلدها
startDate

string ( int64 format)

الزامی : تاریخ شروع دوره صورتحساب. این تاریخ به صورت میلی‌ثانیه از epoch نمایش داده می‌شود. این یک تاریخ است (و بنابراین همیشه از اولین میلی‌ثانیه روز در منطقه زمانی صورتحساب شروع می‌شود).

این اولین میلی‌ثانیه از روز دوره صورتحساب است، 00:00:00.000

endDate

string ( int64 format)

الزامی : تاریخ پایان دوره صورتحساب. این تاریخ به صورت میلی‌ثانیه از epoch نمایش داده می‌شود.

این آخرین میلی‌ثانیه از آخرین روز دوره صورتحساب است، ۲۳:۵۹:۵۹.۹۹۹

دستورالعمل‌های حواله

ساختار حاوی اطلاعات مربوط به نحوه پرداخت این اعلان حواله.

نمایش 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 خواهد بود که گوگل همراه با درخواست ارسال می‌کند. برای رویدادهای بازپرداخت معکوس، استرداد وجه و استرداد وجه معکوس، این requestId خواهد بود که یکپارچه‌ساز پرداخت همراه با اعلان آن رویداد ارسال می‌کند. برای تنظیمات، این یک شناسه منحصر به فرد خواهد بود که توسط گوگل به رویداد تنظیمات اختصاص داده می‌شود.

paymentIntegratorEventId

string

الزامی : شناسه‌ای که یکپارچه‌ساز پرداخت برای این رویداد برگردانده است. برای ضبط، این شناسه paymentIntegratorTransactionId از پاسخ به فراخوانی capture است، برای بازپرداخت، این شناسه paymentIntegratorRefundId از پاسخ به refund است.

این فیلد طول متغیری دارد، به عنوان یک انتگرال‌گیر، هر شناسه‌ای که برای این رویداد ارائه دهید، در اینجا منعکس خواهد شد. اگر مقداری توسط انتگرال‌گیر برای رویداد مربوطه ارائه نشده باشد، این فیلد حاوی همان مقدار فیلد eventRequestId خواهد بود.

برای رویدادهای بازپرداخت معکوس، بازپرداخت وجه و بازپرداخت وجه معکوس، این همان requestId خواهد بود که یکپارچه‌ساز پرداخت همراه با اعلان رویداد ارسال کرده است.

طول و قالب این فیلد به فیلد منبع برای هر شناسه بستگی دارد. برای جزئیات بیشتر در مورد الزامات طول و مجموعه کاراکتر، به مستندات هر یک از فیلدهای منبع مراجعه کنید. به طور خاص، توجه داشته باشید که این فیلد گاهی اوقات می‌تواند حاوی شناسه‌های تولید شده توسط گوگل باشد که ممکن است الزامات حداکثر طول متفاوتی نسبت به شناسه‌های تولید شده توسط یکپارچه‌ساز داشته باشند.

eventCharge

string ( Int64Value format)

الزامی : در کد ارزی که توسط دستور تعریف شده است. اگر این مقدار منفی باشد، نشان دهنده‌ی انتقال ارزش پولی از گوگل به یکپارچه‌ساز پرداخت است. اگر مثبت باشد، پولی است که از یکپارچه‌ساز پرداخت به گوگل پرداخت می‌شود.

برای مثال، تراکنش‌های ضبط همیشه مثبت و تراکنش‌های بازپرداخت همیشه منفی خواهند بود. رویدادهای بازپرداخت معکوس و بازپرداخت معکوس همیشه مثبت خواهند بود. رویدادهای بازپرداخت همیشه منفی خواهند بود.

این مقدار بر حسب میکرو است.

eventFee

string ( Int64Value format)

الزامی : در کد ارزی که توسط دستور تعریف شده است. اگر این مقدار منفی باشد، نشان دهنده‌ی انتقال ارزش پولی از گوگل به یکپارچه‌ساز پرداخت است. اگر مثبت باشد، پولی است که از یکپارچه‌ساز پرداخت به گوگل پرداخت می‌شود.

برای مثال، اگر در توافق‌نامه‌ای قید شده باشد که گوگل ۱٪ از transactionCharge به یکپارچه‌ساز پرداخت پرداخت می‌کند و آن ۱٪ را پس از بازپرداخت آن تراکنش معکوس می‌کند، آنگاه هزینه ضبط منفی و پس از بازپرداخت، هزینه بازپرداخت مثبت خواهد بود.

این مقدار بر حسب میکرو است.

presentmentChargeAmount

string ( Int64Value format)

اختیاری : مبلغ تراکنش به ارز ارائه شده (که به آن تراکنش هم می‌گویند) قبل از تبدیل ارز خارجی. این فیلد از همان قرارداد علامت فیلد eventCharge پیروی می‌کند.

این مقدار بر حسب میکرو است.

presentmentCurrencyCode

string

اختیاری : کد ارزی سه حرفی ISO 4217 که واحد پول ارائه شده (معامله) را مشخص می‌کند.

exchangeRate
(deprecated)

string ( Int64Value format)

منسوخ‌شده : نرخ ارزی که برای تبدیل مبلغ ارائه شده به مبلغ تسویه (فاکتور) استفاده می‌شود.

این مقدار بر حسب میکرو پوینت است (۱ پوینت = ۰.۰۰۰۱ = ۰.۰۱%). یعنی برای بدست آوردن نرخ ارز، این فیلد را بر ۱۰^۱۰ تقسیم کنید.

nanoExchangeRate

string ( Int64Value format)

اختیاری : نرخ ارز مورد استفاده در تبدیل مبلغ ارائه شده به مبلغ تسویه حساب (فاکتور)، که بر حسب نانو پوینت بیان می‌شود.

این مقدار بر حسب نانو پوینت است (۱ پوینت = .۰۰۰۱ = .۰۱%). یعنی برای بدست آوردن نرخ ارز، این فیلد را بر ۱۰^۱۳ تقسیم کنید.

هم این فیلد و هم exchangeRate پر خواهند شد. آنها نرخ‌های ارز معادلی هستند که با دقت متفاوتی بیان شده‌اند. در نسخه‌های آینده، exchangeRate به نفع nanoExchangeRate حذف خواهد شد.