- طلب HTTP
- نص الطلب
- نص الاستجابة
- RemittanceStatementSummary
- BillingPeriod
- RemittanceInstructions
- الحدث
تعرض هذه الطريقة تفاصيل حول بيان الحوالة المالية.
هذه واجهة برمجة تطبيقات مقسّمة إلى صفحات. يمكن تحديد عدد أحداث المعاملات لكل صفحة باستخدام numberOfEvents. في حال عدم تحديدها، سيتم عرض 1, 000 حدث كحدّ أقصى في كل صفحة. سيعرض كل طلب يتم إرساله إلى واجهة برمجة التطبيقات هذه 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 |
اختياري: عدد الأحداث المطلوب عرضها في كل صفحة إذا لم يتم تحديدها أو كانت أكبر من 1000، سيتم ضبطها على 1000. |
نص الاستجابة
عنصر الاستجابة لطريقة تفاصيل كشف الحوالات المالية
إذا كانت الاستجابة ناجحة، سيحتوي نص الاستجابة على بيانات بالبنية التالية:
| تمثيل JSON |
|---|
{ "responseHeader": { object ( |
| الحقول | |
|---|---|
responseHeader |
مطلوب: عنوان مشترك لجميع الردود. |
remittanceStatementSummary |
مطلوبة: ملخّص لبيان الحوالة المالية هذا. |
eventOffset |
مطلوبة: إزاحة الحدث لهذا الردّ. |
nextEventOffset |
اختياري: الإزاحة الخاصة بالحدث التالي الذي سيتم عرضه. في حال عدم تحديدها، يعني ذلك أنّه لم يعُد هناك أحداث أخرى يمكن استردادها لهذا البيان. |
totalEvents |
مطلوبة: إجمالي عدد الأحداث في هذا البيان. |
totalWithholdingTaxes |
مطلوبة: مجموع كل الضرائب المقتطعة في هذا البيان هذه القيمة بوحدة ميكرو. |
captureEvents[] |
مطلوب: مجموعة من أحداث الالتقاط. |
refundEvents[] |
مطلوب: مجموعة من أحداث ردّ الأموال. |
reverseRefundEvents[] |
اختياري: مجموعة من أحداث استرداد الأموال. |
chargebackEvents[] |
اختياري: مجموعة من أحداث ردّ المبالغ المدفوعة |
reverseChargebackEvents[] |
اختياري: مجموعة من أحداث عكس عمليّة ردّ المبلغ. |
adjustmentEvents[] |
اختياري: مجموعة من أحداث التعديل. يجوز إضافة أحداث التسوية وفقًا لتقدير Google لتسوية التناقضات في الفوترة، مثلاً إذا تم احتساب الرسوم بأقل من قيمتها لمجموعة من المعاملات السابقة، يمكن استخدام التسوية لتعويض الجهة المدمجة. |
RemittanceStatementSummary
عنصر ملخّص حول كشف الحوالة المالية.
| تمثيل JSON |
|---|
{ "statementDate": string, "billingPeriod": { object ( |
| الحقول | |
|---|---|
statementDate |
مطلوبة: التاريخ (بتوقيت أمريكا/لوس أنجلوس) الذي تم فيه إنشاء هذا البيان. |
billingPeriod |
مطلوبة: الفترة الزمنية للفوترة التي يغطيها هذا الكشف. |
dateDue |
اختياري: تاريخ استحقاق الحوالة المالية. يتم تمثيل ذلك بالملي ثانية منذ بداية حقبة معيّنة. وهو تاريخ (وبالتالي سيبدأ دائمًا في أول جزء من الألف من الثانية في اليوم في المنطقة الزمنية للفوترة). يتم ضبط هذا الخيار طالما أنّ |
currencyCode |
مطلوبة: رمز العملة المكوَّن من 3 أحرف وفقًا لمعيار ISO 4217. |
totalDueByIntegrator |
مطلوبة: هذه القيمة بالوحدات الصغيرة بعملة |
remittanceInstructions |
مطلوب: تفاصيل حول كيفية تحويل الدفع |
BillingPeriod
مدة الفوترة لهذه الكشف.
| تمثيل JSON |
|---|
{ "startDate": string, "endDate": string } |
| الحقول | |
|---|---|
startDate |
مطلوب: تاريخ البدء لمدة الفوترة. يتم تمثيل ذلك بالملي ثانية منذ بداية حقبة معيّنة. وهو تاريخ (وبالتالي سيبدأ دائمًا في أول جزء من الألف من الثانية في اليوم في المنطقة الزمنية للفوترة). هذه هي الملّي ثانية الأولى من يوم مدة الفوترة، 00:00:00.000 |
endDate |
مطلوب: تاريخ انتهاء مدة الفوترة. يتم تمثيل ذلك بالمللي ثانية منذ بدء حساب الفترة. هذه هي آخر جزء من الثانية في آخر يوم من مدة الفوترة، أي 23:59:59.999 |
RemittanceInstructions
بنية تحتوي على معلومات حول كيفية دفع إشعار الحوالة المالية هذا.
| تمثيل JSON |
|---|
{ "memoLineId": string } |
| الحقول | |
|---|---|
memoLineId |
مطلوب: معرّف يجب وضعه في سطر المذكرة لتحديد الحوالة المالية. |
الحدث
بنية تمثّل حدثًا واحدًا مضمّنًا في كشف الحوالات المالية.
| تمثيل JSON |
|---|
{ "eventRequestId": string, "paymentIntegratorEventId": string, "eventCharge": string, "eventFee": string, "presentmentChargeAmount": string, "presentmentCurrencyCode": string, "exchangeRate": string, "nanoExchangeRate": string } |
| الحقول | |
|---|---|
eventRequestId |
مطلوبة: بالنسبة إلى أحداث التحصيل أو ردّ الأموال، سيكون هذا هو |
paymentIntegratorEventId |
مطلوب: المعرّف الذي أرجعه نظام معالجة الدفع لهذا الحدث. بالنسبة إلى عملية التحصيل، يكون هذا هو هذا الحقل ذو طول متغيّر، لأنّ أيّ معرّف تقدّمه لهذا الحدث سيظهر هنا. إذا لم يقدّم المسؤول عن الدمج قيمة للحدث المعنيّ، سيحتوي هذا الحقل على القيمة نفسها التي يحتوي عليها الحقل بالنسبة إلى أحداث ردّ الأموال وعكس ردّ الأموال وإلغاء الدفع وعكس عمليّة ردّ المبلغ، سيكون هذا هو يعتمد طول هذا الحقل وتنسيقه على الحقل المصدر لكل معرّف. راجِع المستندات الخاصة بكل حقل من حقول المصدر للحصول على تفاصيل حول متطلبات الطول ومجموعة الأحرف. على وجه الخصوص، يُرجى العِلم أنّ هذا الحقل يمكن أن يحتوي أحيانًا على معرّفات من إنشاء Google قد تكون لها متطلبات مختلفة عن الحد الأقصى لطول المعرّفات التي ينشئها القائمون على الدمج. |
eventCharge |
مطلوب: رمز العملة المحدّد في البيان إذا كانت هذه القيمة سالبة، فهذا يمثّل القيمة النقدية التي تنتقل من Google إلى خدمة تكامل الدفع. إذا كان هذا المبلغ موجبًا، يعني ذلك أنّ شركة تكامل الدفع تدين به إلى Google. على سبيل المثال، ستكون معاملات التحصيل إيجابية دائمًا، وستكون معاملات ردّ الأموال سلبية دائمًا. ستكون أحداث ردّ الأموال وعكس عمليّة ردّ المبلغ إيجابية دائمًا. ستكون أحداث ردّ المبالغ المدفوعة سلبية دائمًا. هذه القيمة بوحدة ميكرو. |
eventFee |
مطلوب: رمز العملة المحدّد في البيان إذا كانت هذه القيمة سالبة، فهذا يمثّل القيمة النقدية التي تنتقل من Google إلى خدمة تكامل الدفع. إذا كان هذا المبلغ موجبًا، يعني ذلك أنّ شركة تكامل الدفع تدين به إلى Google. على سبيل المثال، إذا كانت الاتفاقية تنص على أنّ Google ستدفع %1 من هذه القيمة بوحدة ميكرو. |
presentmentChargeAmount |
اختياري: مبلغ المعاملة بعملة العرض (المعروفة أيضًا باسم عملة المعاملة) قبل تحويل العملة الأجنبية يتبع هذا الحقل اصطلاح الإشارة نفسه الذي يتبعه الحقل هذه القيمة بوحدة ميكرو. |
presentmentCurrencyCode |
اختيارية: رمز العملة المكوّن من 3 أحرف بتنسيق ISO 4217 والذي يحدّد عملة العرض (المعاملة). |
exchangeRate |
تم الإيقاف نهائيًا: سعر الصرف المستخدَم في تحويل مبلغ العرض إلى مبلغ التسوية (الفاتورة). هذه القيمة هي نقطة أساس ميكرو (نقطة أساس واحدة = 0 .0001 = %0 .01). أي للحصول على سعر الصرف، قسِّم هذا الحقل على 10^10. |
nanoExchangeRate |
اختياري: سعر الصرف المستخدَم في تحويل مبلغ العرض إلى مبلغ التسوية (الفاتورة)، ويتم التعبير عنه بنقاط أساسية نانو. تكون هذه القيمة بوحدات نانو (نقطة أساس واحدة = 0 .0001 = %0 .01). أي للحصول على سعر الصرف، قسِّم هذا الحقل على 10^13. سيتم ملء هذا الحقل وحقل exchangeRate. وهي أسعار صرف متساوية معبَّر عنها بدقة مختلفة. في الإصدارات المستقبلية، ستتم إزالة exchangeRate واستخدام nanoExchangeRate بدلاً منها. |