Method: remittanceStatementDetails

تعرض معلومات تفاصيل المعاملة حول كشف التحويل المالي.

هذه واجهة برمجة تطبيقات مقسّمة على صفحات. يمكن تحديد عدد أحداث المعاملات لكل صفحة باستخدام numberOfEvents. وفي حال عدم تحديد هذا الحقل، سيتم عرض 1, 000 حدث كحدّ أقصى لكل صفحة. سيعرض كل طلب إلى واجهة برمجة التطبيقات هذه عنصر 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)

مطلوب: مجموع كل الضرائب المقتطَعة من كشف الحساب هذا.

هذه القيمة بـ micros.

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)

مطلوب: تفاصيل عن كيفية سداد الدفعة

BillingPeriod

المدة الزمنية للفوترة في كشف الحساب هذا

تمثيل JSON
{
  "startDate": string,
  "endDate": string
}
الحقول
startDate

string (int64 format)

مطلوب: تاريخ بدء المدة الزمنية للفوترة. يتم تمثيل ذلك بالمللي ثانية من الحقبة. إنه تاريخ (وبالتالي سيبدأ دائمًا عند أول مللي ثانية من اليوم في المنطقة الزمنية للفوترة).

هذه هي المللي ثانية الأولى من يوم المدة الزمنية للفوترة، 00:00:00.000

endDate

string (int64 format)

مطلوب: تاريخ انتهاء المدة الزمنية للفوترة. يتم تمثيل ذلك بالمللي ثانية من الحقبة.

هذه هي المللي ثانية الأخيرة من آخر يوم من المدة الزمنية للفوترة، 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

مطلوب: يُرجى تحديد هوية الشركة التي دمجت عمليات الدفع التي عرضتها لهذا الحدث. للالتقاط هو "paymentIntegratorTransactionId" من الردّ على مكالمة "capture". أما إذا أردت استرداد الأموال، فهذا هو "paymentIntegratorRefundId" من الردّ على مكالمة refund.

هذا الحقل ذو طول متغيّر، وبصفتك مسؤول عملية الدمج، سيُظهر هنا أي رقم تعريف تزوّده بهذا الحدث. إذا لم تقدّم جهة الدمج قيمة للحدث المقابل، سيحتوي هذا الحقل على القيمة نفسها التي يتضمّنها الحقل eventRequestId.

بالنسبة إلى عمليات ردّ الأموال العكسي، وردّ المبالغ المدفوعة وردّ المبالغ المدفوعة، ستكون هذه هي أحداث requestId التي أرسلتها شركة تكامل الدفعات مع الإشعار بالحدث.

ويعتمد طول هذا الحقل وتنسيقه على حقل المصدر لكل رقم تعريف. يمكنك الرجوع إلى المستندات الخاصة بكل حقل من حقول المصدر للحصول على تفاصيل حول متطلبات الطول ومجموعة الأحرف. على وجه الخصوص، قد يتضمّن هذا الحقل أحيانًا أرقام تعريف من إنشاء Google. وقد يكون الحد الأقصى لمتطلبات الحد الأقصى للطول مختلفًا عن متطلبات أرقام التعريف التي أنشأتها شركة الدمج.

eventCharge

string (Int64Value format)

مطلوب: برمز العملة المحدّد في العبارة. إذا كانت هذه القيمة سالبة، تمثّل هذه القيمة القيمة النقدية التي تم نقلها من Google إلى الجهة المتعهّدة للدفع. إذا كانت الإجابة إيجابية، يعني هذا أنّها أموال من شركة تكامل الدفعات مستحقة الدفع إلى Google.

على سبيل المثال، ستكون معاملات التقاط الصور موجبة دائمًا، وستكون معاملات ردّ الأموال سلبية دائمًا. وستكون أحداث ردّ الأموال العكسي وردّ المبالغ المدفوعة إيجابية دائمًا. وستكون أحداث رد المبالغ المدفوعة سلبية دائمًا.

هذه القيمة بـ micros.

eventFee

string (Int64Value format)

مطلوب: برمز العملة المحدّد في العبارة. إذا كانت هذه القيمة سالبة، تمثّل هذه القيمة القيمة النقدية التي تم نقلها من Google إلى الجهة المتعهّدة للدفع. إذا كانت الإجابة إيجابية، يعني هذا أنّها أموال من شركة تكامل الدفعات مستحقة الدفع إلى Google.

على سبيل المثال، إذا كانت الاتفاقية تنص على أنّ Google ستدفع 1% من "transactionCharge" إلى شركة تكامل الدفع، وستلغي هذه النسبة عند ردّ أموال تلك المعاملة، ستكون رسوم التحصيل سالبة، وستكون رسوم ردّ الأموال بقيمة موجبة عند ردّها.

هذه القيمة بـ micros.

presentmentChargeAmount

string (Int64Value format)

اختياري: مبلغ المعاملة بالعملة الحالية (المعروفة أيضًا باسم المعاملة) قبل الصرف الأجنبي. يتّبع هذا الحقل اصطلاح الإشارة نفسه المستخدَم في الحقل eventCharge.

هذه القيمة بـ micros.

presentmentCurrencyCode

string

اختياري: رمز عملة مكّون من 3 أحرف بتنسيق ISO 4217 يحدّد عملة العرض (المعاملة).

exchangeRate

string (Int64Value format)

اختياري: سعر الصرف المستخدَم في تحويل المبلغ الحالي إلى مبلغ التسوية (الفاتورة).

هذه القيمة بنقاط أساس مصغرة (نقطة أساس واحدة = 0 .0001 = %.01). أي للحصول على سعر الصرف، اقسِم هذا الحقل على 10^10.

nanoExchangeRate

string (Int64Value format)

اختياري: سعر الصرف المستخدَم لتحويل المبلغ الحالي إلى مبلغ التسوية (الفاتورة) معبرًا عنه بنقاط أساس نانو.

هذه القيمة بنقاط أساس nano (نقطة أساس واحدة = .0001 = .01%). أي للحصول على سعر الصرف، اقسِم هذا الحقل على 10^13.

ستتم تعبئة كل من هذا الحقل و exchangeRate. هما أسعار صرف مكافئة يتم التعبير عنها بدقة مختلفة. أمّا في الإصدارات المستقبلية، فستتم إزالة ExchangeRate لصالح nanoExchangeRate.