- طلب 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 |
مطلوب: مجموع كل الضرائب المقتطَعة من كشف الحساب هذا. هذه القيمة بـ micros. |
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. على سبيل المثال، ستكون معاملات التقاط الصور موجبة دائمًا، وستكون معاملات ردّ الأموال سلبية دائمًا. وستكون أحداث ردّ الأموال العكسي وردّ المبالغ المدفوعة إيجابية دائمًا. وستكون أحداث رد المبالغ المدفوعة سلبية دائمًا. هذه القيمة بـ micros. |
eventFee |
مطلوب: برمز العملة المحدّد في العبارة. إذا كانت هذه القيمة سالبة، تمثّل هذه القيمة القيمة النقدية التي تم نقلها من Google إلى الجهة المتعهّدة للدفع. إذا كانت الإجابة إيجابية، يعني هذا أنّها أموال من شركة تكامل الدفعات مستحقة الدفع إلى Google. على سبيل المثال، إذا كانت الاتفاقية تنص على أنّ Google ستدفع 1% من " هذه القيمة بـ micros. |
presentmentChargeAmount |
اختياري: مبلغ المعاملة بالعملة الحالية (المعروفة أيضًا باسم المعاملة) قبل الصرف الأجنبي. يتّبع هذا الحقل اصطلاح الإشارة نفسه المستخدَم في الحقل هذه القيمة بـ micros. |
presentmentCurrencyCode |
اختياري: رمز عملة مكّون من 3 أحرف بتنسيق ISO 4217 يحدّد عملة العرض (المعاملة). |
exchangeRate |
اختياري: سعر الصرف المستخدَم في تحويل المبلغ الحالي إلى مبلغ التسوية (الفاتورة). هذه القيمة بنقاط أساس مصغرة (نقطة أساس واحدة = 0 .0001 = %.01). أي للحصول على سعر الصرف، اقسِم هذا الحقل على 10^10. |
nanoExchangeRate |
اختياري: سعر الصرف المستخدَم لتحويل المبلغ الحالي إلى مبلغ التسوية (الفاتورة) معبرًا عنه بنقاط أساس نانو. هذه القيمة بنقاط أساس nano (نقطة أساس واحدة = .0001 = .01%). أي للحصول على سعر الصرف، اقسِم هذا الحقل على 10^13. ستتم تعبئة كل من هذا الحقل و exchangeRate. هما أسعار صرف مكافئة يتم التعبير عنها بدقة مختلفة. أمّا في الإصدارات المستقبلية، فستتم إزالة ExchangeRate لصالح nanoExchangeRate. |