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)

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

هذه القيمة بالميكرو.

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.

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

هذه القيمة بالميكرو.

eventFee

string (Int64Value format)

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

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

هذه القيمة بالميكرو.

presentmentChargeAmount

string (Int64Value format)

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

هذه القيمة بالميكرو.

presentmentCurrencyCode

string

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

exchangeRate

string (Int64Value format)

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

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

nanoExchangeRate

string (Int64Value format)

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

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

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