- طلب HTTP
- نص الطلب
- نص الاستجابة
- CaptureResult
- CaptureResultCode
- RawResult
- CaptureResultNotificationResultCode
يمكنك إشعار Google بنتيجة الالتقاط بعد إجراء استدعاء لطريقة capture أو asynchronousCapture.
قيمة captureResult ثابتة لهذه الطريقة captureRequestId، لذا لا يمكن تغيير قيمتها من خلال استدعاء لاحق لهذه الطريقة.
إذا واجهت نقطة النهاية خطأً أثناء معالجة الطلب، سيكون الرد من نقطة النهاية هذه من النوع .ErrorResponse
قد تكون الردود على هذا الطلب فارغة إذا لم تعرض هذه الطريقة رمز HTTP 200. يكون نص الاستجابة فارغًا في الحالات التي قد يتم فيها استخدام مع وصف واضح لمساعدة المهاجم على فهم معرّف حساب شركة تكامل الدفع الخاص بالجهات المدمَجة الأخرى. في هذه الحالات، عندما يكون مفتاح التوقيع غير متطابق أو لم يتم العثور على معرّف وحدة تكامل الدفع أو كان مفتاح التشفير غير معروف، ستعرض هذه الطريقة خطأ HTTP 404 بدون نص. وإذا توفّرت إمكانية التحقّق من صحة توقيع الطلب، سيتم عرض معلومات إضافية بشأن الخطأ في نص الاستجابة.ErrorResponse
إليك مثال على الطلب:
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 1,
"revision": 0
},
"requestId": "KcgwSKrV76eVNDUbsZ4UA3",
"requestTimestamp": "1481852928293"
},
"paymentIntegratorAccountId": "InvisiCashUSA_USD",
"captureRequestId": "awNaC510cefae3IJdNEvW2",
"captureResult": {
"captureResultCode": "SUCCESS"
}
}
يبدو الرد كمثال:
{
"responseHeader": {
"responseTimestamp": "1481852928324"
},
"result": "SUCCESS"
}
طلب HTTP
POST https://vgw.googleapis.com/secure-serving/gsp/v1/captureResultNotification/:PIAID
نص الطلب
يحتوي نص الطلب على بيانات بالبنية التالية:
| تمثيل JSON |
|---|
{ "requestHeader": { object ( |
| الحقول | |
|---|---|
requestHeader |
مطلوب: عنوان مشترك لجميع الطلبات. |
paymentIntegratorAccountId |
مطلوب: معرّف حساب شركة تكامل الدفع الذي تم فيه الالتقاط |
captureRequestId |
مطلوبة: معرّف فريد لهذه المعاملة هذا هو هذه سلسلة لا يزيد طولها عن 100 حرف وتحتوي فقط على الأحرف "a-z" و"A-Z" و"0-9" و":" و"-" و"_". |
captureResult |
مطلوب: نتيجة عملية الالتقاط هذه. |
paymentIntegratorTransactionId |
اختياري: هذا المعرّف خاص بشركة الدمج ويتمّ إنشاؤه بواسطة الشركة المدمَجة. هو المعرّف الذي تعرف شركة الدمج هذه المعاملة من خلاله. ولتسهيل الأمر، يتم تضمين هذا المعرّف في تفاصيل الحوالة المالية. |
نص الاستجابة
عنصر الاستجابة لطريقة captureResultNotification
إذا كانت الاستجابة ناجحة، سيحتوي نص الاستجابة على بيانات بالبنية التالية:
| تمثيل JSON |
|---|
{ "responseHeader": { object ( |
| الحقول | |
|---|---|
responseHeader |
مطلوب: عنوان مشترك لجميع الردود. |
result |
REQUIRED: نتيجة هذه المكالمة. |
CaptureResult
تشير هذه السمة إلى معلومات حول النتيجة النهائية لالتقاط صورة.
| تمثيل JSON |
|---|
{ "captureResultCode": enum ( |
| الحقول | |
|---|---|
captureResultCode |
مطلوب: رمز نتيجة هذا التسجيل. |
rawResult |
OPTIONAL: النتيجة الأولية لهذا الالتقاط. تُستخدَم هذه السمة للمساعدة في إعلام محرّك بحث Google بشأن المخاطر والتحليلات. في حالات ربط الرموز البرمجية والرفض، يتم فقدان البيانات أحيانًا. يمكن أن تختار شركة الدمج منح Google رمزًا أوليًا. على سبيل المثال، يمكن لبوابة بطاقة الائتمان (شركة الدمج) استخدام هذا الحقل لإبلاغ Google برمز الرفض الذي تم استلامه من شبكة VISA. في هذه الحالة، ستكون القيمة هذه القيمة مطلوبة إذا لم تكن قيمة السمة |
حقل الاتحاد يمكن أن يكون |
|
transactionMaxLimit |
اختياري: إذا كانت قيمة هذا المقدار هو وحدات ميكرو من نفس |
transactionMinLimit |
اختياري: إذا كانت قيمة هذا المقدار هو وحدات ميكرو من نفس |
currentBalance |
اختياري: إذا كانت "النتيجة" هي يجب أن تكون هذه القيمة بالعملة نفسها المستخدَمة في |
CaptureResultCode
رموز النتائج لالتقاط صورة
| عمليات التعداد | |
|---|---|
UNKNOWN_RESULT |
لا تضبط هذه القيمة التلقائية على الإطلاق. |
SUCCESS |
تم الالتقاط بنجاح. |
CHARGE_UNDER_TRANSACTION_LIMIT |
لا يتوافق مبلغ الالتقاط المطلوب مع الحد الأدنى لمبلغ الاستلام الذي حدّدته جهة الدمج لكل معاملة. في حال استخدام هذا الرمز، يُرجى ملء الحقل transactionMinLimit بالحدّ الأدنى لمبلغ المعاملة لأغراض مراسلة المستخدمين. |
CHARGE_EXCEEDS_TRANSACTION_LIMIT |
يتجاوز مبلغ الالتقاط المطلوب الحد الأقصى المسموح به لكل معاملة لدى شركة الدمج. في حال استخدام هذا الرمز، عليك ملء الحقل transactionMaxLimit بحدّ المعاملات لأغراض مراسلة المستخدمين. |
CHARGE_EXCEEDS_DAILY_LIMIT |
لا يمكن استخدام حساب المستخدم لإجراء عمليات الشراء في الوقت الحالي، نظرًا لتجاوزه الحد الأقصى اليومي. |
CHARGE_EXCEEDS_MONTHLY_LIMIT |
لا يمكن استخدام حساب المستخدم لإجراء عمليات الشراء الآن نظرًا لتجاوزه الحد الأقصى الشهري المسموح به. |
INSUFFICIENT_FUNDS |
لا يحتوي هذا الحساب على أموال كافية لضمان الحصول على هذا المبلغ. |
SUSPECTED_FRAUD |
لدى جهة الدمج سبب للشك في أنّ هذه المعاملة احتيالية. |
ACCOUNT_CLOSED |
تم إغلاق حساب المستخدم لدى شركة الدمج. ستؤدي هذه القيمة المعروضة إلى إغلاق وسيلة المستخدم مع Google. سيضطر المستخدم إلى إضافة أداة جديدة. |
ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER |
تم إغلاق حساب المستخدم لدى جهة الدمج، ويُشتبه في الاستيلاء على الحساب. ستؤدي هذه القيمة المعروضة إلى إغلاق وسيلة المستخدم مع Google. سيضطر المستخدم إلى إضافة أداة جديدة. |
ACCOUNT_CLOSED_FRAUD |
تم إغلاق حساب المستخدم التابع لجهة الدمج بسبب عملية احتيال. ستؤدي هذه القيمة المعروضة إلى إغلاق وسيلة المستخدم مع Google. سيضطر المستخدم إلى إضافة أداة جديدة. |
ACCOUNT_ON_HOLD |
حساب المستخدم معلق. |
OTP_NOT_MATCHED |
لم تتطابق كلمة المرور لمرة واحدة مع ما أرسله مسؤول الدمج. |
OTP_ALREADY_USED |
سبق أن تم استخدام كلمة المرور لمرة واحدة (OTP). |
CAPTURE_REQUEST_EXPIRED |
واستغرقت شركة الدمج وقتًا طويلاً جدًا لجذب أموال المستخدم. ستتعامل Google مع هذا الرفض باعتباره حالة نهائية، لذلك على شركة الدمج التأكّد من عدم تحصيل أموال المستخدم في وقت لاحق أو أنّه سيستردّ المستخدم تلقائيًا في حال نجاح عملية الاقتطاع. |
INVALID_PIN |
قدم المستخدم رقم تعريف شخصي غير صالح. |
OS_LOCK_FAILED |
تتطلب عملية الدفع هذه إجراء تحدي لقفل نظام التشغيل وتعذَّر على المستخدم فتح قفل الجهاز. |
PIN_ENTRY_ATTEMPTS_EXHAUSTED |
تتطلّب عملية الدفع هذه إدخال رقم التعريف الشخصي للمستخدم. لم يتمكّن المستخدم من إدخال رقم التعريف الشخصي مرّات كافية، ما أدّى إلى نفاد محاولاته. |
USER_EXITED_PAYMENT_FLOW |
ألغى المستخدم محاولة الدفع بالكامل (إما عند قفل نظام التشغيل أو شاشة إدخال رقم التعريف الشخصي). |
MONTHLY_FREQUENCY_LIMIT_EXCEEDED |
لا يمكن استخدام حساب المستخدم لإجراء عمليات الشراء الآن لأنّه تجاوز الحدّ الأقصى لعدد محاولات إجراء المعاملات الشهرية. |
DECLINED_BY_ISSUER |
يجب عدم استخدام رمز الرفض هذا أبدًا في حالة ثابتة. والمقصود بذلك هو رمز جامعي مؤقت لاستخدامه عندما تواجه شركة الدمج رمز رفض غير معروف من جهة الإصدار الأساسية لأداة المستخدم. ويمكن استخدام رمز النتيجة هذا بينما تحدد شركة الدمج رمز نتيجة أكثر ملاءمة لاستخدام أو تتفاوض بشأن إضافة رمز نتيجة جديد إلى هذه المواصفات. الأهم من ذلك هو أنّ رمز الرفض هذا يمثّل رفضًا حقيقيًا إلى حدّ كبير. وهو رفض دائم بقدر ما تشعر به Google. وإذا أرجعت شركة الدمج هذه الرسوم، فتقع على عاتقها مسؤولية تتبُّع ما يعنيه الرمز البرمجي الخاص بجهة الإصدار وردّ الأموال إلى المستخدم إذا تبيّن أنّ الرمز يعني إذا تم استخدام رمز الرفض هذا لرمز الرفض الأساسي نفسه لأكثر من عدد معيّن من الأيام، ستتعامل Google معه على أنّه خطأ وستتتبّعه وفقًا لذلك في ما يتعلق بأي عقوبات تعاقدية متعلقة بإصلاح الأخطاء. |
RawResult
كائن النتيجة الأولي.
| تمثيل JSON |
|---|
{ "scope": string, "rawCode": string } |
| الحقول | |
|---|---|
scope |
OPTIONAL: يمكن أن يكون نطاق RAWCode فارغًا. |
rawCode |
مطلوب: الرمز الأولي من شركة الدمج أو الأنظمة الفرعية المضمّنة فيه. |
CaptureResultNotificationResultCode
رموز النتائج لطريقة captureResultNotification.
| عمليات التعداد | |
|---|---|
UNKNOWN_RESULT |
لا تضبط هذه القيمة التلقائية على الإطلاق. |
SUCCESS |
تمت معالجة إشعار نتيجة الالتقاط بنجاح. |