Method: remittanceStatementDetails

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

این یک API صفحه بندی شده است. تعداد رویدادهای تراکنش در هر صفحه را می توان با numberOfEvents مشخص کرد. اگر نامشخص باشد، حداکثر 1000 رویداد در هر صفحه بازگردانده می شود. هر درخواست به این 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

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

بدن پاسخگو

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

در صورت موفقیت آمیز بودن، بدنه پاسخ حاوی داده هایی با ساختار زیر است:

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

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

این تا زمانی تنظیم می شود که totalDueByIntegrator بزرگتر از 0 باشد.

currencyCode

string

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

totalDueByIntegrator

string ( Int64Value format)

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

remittanceInstructions

object ( RemittanceInstructions )

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

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

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

نمایندگی JSON
{
  "startDate": string,
  "endDate": string
}
زمینه های
startDate

string ( int64 format)

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

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

endDate

string ( int64 format)

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

این آخرین میلی‌ثانیه از آخرین روز دوره صورت‌حساب است، 23:59:59.999

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

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

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

paymentIntegratorEventId

string

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

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

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

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

eventCharge

string ( Int64Value format)

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

به عنوان مثال، تراکنش های کپچر همیشه مثبت و تراکنش های بازپرداخت همیشه منفی خواهند بود. رویدادهای بازپرداخت معکوس و استرداد وجه معکوس همیشه مثبت خواهند بود. رویدادهای استرداد شارژ همیشه منفی خواهند بود.

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

eventFee

string ( Int64Value format)

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

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

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

presentmentChargeAmount

string ( Int64Value format)

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

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

presentmentCurrencyCode

string

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

exchangeRate

string ( Int64Value format)

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

این مقدار در نقاط پایه خرد است (1 نقطه پایه = 0.0001 = 0.01%). یعنی برای بدست آوردن نرخ ارز این فیلد را بر 10^10 تقسیم کنید.

nanoExchangeRate

string ( Int64Value format)

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

این مقدار بر حسب واحد پایه نانو است (1 نقطه پایه = 0.0001 = 0.01%). یعنی برای بدست آوردن نرخ ارز این فیلد را بر 10^13 تقسیم کنید.

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