إصدار ‏‎Graph API‎‏

عملية الدفع /{payment-id}

تفاصيل عملية الدفع التي تم إجراؤها في تطبيق باستخدام عمليات الدفع على فيسبوك.

القراءة

مستكشف Graph API
GET /v19.0/{payment-id} HTTP/1.1
Host: graph.facebook.com
/* PHP SDK v5.0.0 */
/* make the API call */
try {
  // Returns a `Facebook\FacebookResponse` object
  $response = $fb->get(
    '/{payment-id}',
    '{access-token}'
  );
} catch(Facebook\Exceptions\FacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}
$graphNode = $response->getGraphNode();
/* handle the result */
/* make the API call */
new GraphRequest(
    AccessToken.getCurrentAccessToken(),
    "/{payment-id}",
    null,
    HttpMethod.GET,
    new GraphRequest.Callback() {
        public void onCompleted(GraphResponse response) {
            /* handle the result */
        }
    }
).executeAsync();
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
                               initWithGraphPath:@"/{payment-id}"
                                      parameters:params
                                      HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
                                      id result,
                                      NSError *error) {
    // Handle the result
}];

الأذونات

  • يلزم توفر رمز وصول تطبيق للتطبيق الذي أنشأ عملية الدفع.

الحقول

الاسم الوصف النوع

id

يمثل معرف عملية الدفع

string

user

يمثل الاسم الأول للمستهلك واسم العائلة مع id المستخدم لديه. وقد يتم حذفه في بعض الحالات.

User

request_id

يمثل المعرف الفريد الاختياري الذي تم إنشاؤه بواسطة التطبيق وإدخاله في وظيفة JS (255 حرفًا بحد أقصى)

string

application

يمثل التطبيق المقترن بعملية الدفع هذه

App

actions

يمثل قائمة تضم أنواع الإجراءات المختلفة التي حدثت في عملية الدفع هذه.

object[] (كائن)

type

يمثل نوع هذا الإجراء المحدد. ويمكن أن يكون type بالقيمة:

  • charge: يشير ذلك إلى أن نوع الإجراء الذي تم اتخاذه في عملية الدفع هذه كان عبارة عن تحصيل رسوم. وإذا كانت حالة تحصيل الرسوم تشير إلى أنها مكتملة، فيجب عليك استيفاء الطلب.
  • refund: يشير نوع "استرداد الأموال" إلى أنه تم استرداد أموال عملية الدفع، ويجب سحب العنصر المباع إلى المستهلك إن أمكن، وذلك لأنه لن يتم دفع أي أموال لك مقابل هذه المعاملة.
  • chargeback: يتم بدء عملية رد المبالغ المدفوعة بواسطة المستهلك من خلال البنك الذي يتعامل معه والذي يقوم بالنزاع على عملية الدفع المعنية. وفي حالة "رد المبالغ المدفوعة"، يجب عليك سحب العنصر الذي يوجد داخل اللعبة من العميل إن أمكن، وذلك لأنه لن يتم دفع أي أموال لك مقابل هذا الطلب.
  • chargeback_reversal: يحدث chargeback_reversal عند التراجع عن عملية رد المبالغ المدفوعة بأثر رجعي. ويجب عليك في هذه الحالة إعادة العنصر الخاص بالمستهلك داخل اللعبة إن أمكن؛ وذلك لأنه سيتم دفع أموال لك مقابل عملية الدفع هذه.
  • decline: يحدث الرفض في حالة رفض مصدر تمويل تم استخدامه لإنشاء معاملة مُجمعَّة أثناء معالجة عملية الدفع. ويجب عليك سحب العنصر الذي يوجد داخل اللعبة من المستهلك إن أمكن، وذلك لأنه لن يتم دفع لك أي أموال مقابل هذا الطلب. ستجد المزيد من المعلومات المتعلقة بالمعاملات المُجمعَّة وعمليات الرفض في النزاعات وعمليات استرداد الأموال.

string

status

يمثل حالة هذا الإجراء. ويمكن أن تكون status بالقيمة:

  • initiated: تشير عملية الدفع التي تم بدؤها إلى مجرد بدء عملية الدفع وليس اكتمالها تمامًا. ويجب عليك عدم استيفاء هذا النوع من الطلبات مع المستهلك، ولن تتلقى تحديثًا فوريًا بخصوص عملية دفع بهذه الحالة. مع ذلك ستتلقى تحديثًا فوريًا بمجرد اكتمال المعاملة المقابلة. وقد يظهر للمطوّرين الحالة "تم البدء" بالنسبة لطرق دفع معينة والتي تتطلب وقتًا طويلاً ليتم تسويتها، فعلى سبيل المثال، تتطلب طرق معينة من المستهلك ملء تعبئة على الإنترنت أو طباعة إيصال والذهاب إلى البنك الفعلي للدفع.
  • completed: تشير الحالة "مكتملة" إلى أنه تم اكتمال الإجراء بنجاح. وإذا كان النوع عبارة عن "تحصيل رسوم"، فستحتاج إلى تلبية طلب المستهلك في الوقت الحالي. كذلك، إذا كان نوع الإجراء "استرداد أموال"، فستحتاج إلى سحب العنصر من المستهلك.
  • failed: يشير ذلك إلى إجراء غير ناجح للنوع الأساسي. وقد تُمثل هذه القيمة كلاً من نوع إجراء "تحصيل الرسوم" ونوع إجراء "استرداد الأموال".

string

amount

يمثل المبلغ المالي الذي يغطيه هذا الإجراء.

string

currency

يمثل عملة الحقل amount المذكور أعلاه في هذا الإجراء.

string

time_created

يمثل وقت تنفيذ هذا الإجراء.

datetime

time_updated

يمثل وقت آخر تحديث لهذا الإجراء.

datetime

tax_amount

يمثل المبلغ الذي يتم خصمه من عوائدك لسداد أي ضرائب يتم إرسالها بواسطة فيسبوك. وإذا كان tax يساوي not_taxed أو already_paid، فسيتم حذف هذا الحقل.

string

items

يمثل العناصر المقترنة بعملية الدفع.

object[] (كائن)

type

يمثل نوع هذا العنصر.

enum{IN_APP_PURCHASE, SUBSCRIPTION}

product

يمثل عنوان URL للمنتج المرتبط بهذا العنصر.

string

quantity

يمثل عدد الوحدات التي تم شراؤها من هذا العنصر.

integer

country

يمثل كود بلد المشتري بتنسيق ISO، وذلك لأغراض تتعلق بالضرائب.

string

tax

تُحدد معلمة الضريبة ما إذا كانت عملية الدفع خاضعة للضريبة (ضريبة القيمة المضافة أو ضريبة المبيعات)، وكذلك كيفية دفع الضريبة، إن كانت خاضعة لها. ويمكن أن يكون هذا الحقل بالقيم التالية:

  • not_taxed: لا يتم فرض ضريبة قيمة مضافة على عملية الدفع هذه؛ وذلك لأنها تمت خارج نطاق الاتحاد الأوروبي.
  • already_paid: لقد تم بالفعل دفع الضريبة عن عملية الدفع هذه بواسطة شركة خدمات الهواتف المحمولة لدى المستخدم أو طرف أساسي آخر
  • tax_remitted: لقد قام فيسبوك بدفع ضريبة القيمة المضافة عن عملية الدفع هذه نيابةً عنك. وسيتم خصم مبلغ الضريبة من عوائدك. يُرجى إلقاء نظرة هنا لمزيد من المعلومات.

  • tax_remitted_USMPF: قام فيسبوك بجمع ضريبة المبيعات ودفعها عن عملية الدفع هذه نيابةً عنك. وسيتم خصم مبلغ الضريبة من عوائدك، إلا أن ذلك لن يؤثر في صافي مبلغ العوائد الخاص بك، وذلك لأن مبلغ الضريبة المقتطع يُضَاف إلى سعر السلعة. يُرجى إلقاء نظرة هنا لمزيد من المعلومات.

string

tax_country

يمثل البلد الذي يحدده فيسبوك لحساب ضريبة عملية الشراء هذه، ويكون في صورة كود بلد بتنسيق ISO 3166-1 alpha-2. ملاحظة: هذا الحقل مخصص لمعلوماتك فقط، ويجب عدم استخدامه لأي أغراض تتعلق بإعادة الحساب أو التسوية. وإذا كان tax يساوي not_taxed أو already_paid، فسيتم حذف هذا الحقل.

string

created_time

يمثل وقت إنشاء عملية الدفع لأول مرة.

string

payout_foreign_exchange_rate

سعر الصرف المستخدَم لحساب مبلغ العوائد الذي يتم تحويله بالدولار الأمريكي.

float

disputes

يتضمن المعلومات المتعلقة بنزاع ما، بما في ذلك user_comment وuser_email الذي يوفرهم المستهلك عند بدء النزاع. ويتضمن أيضًا الحالة الحالية للنزاع، ووقت إنشاء النزاع، وسبب حل النزاع، إن توفر.

object[]

user_comment

يمثل التعليق المقدم من جانب المستهلك عند بدء النزاع.

string

user_email

يمثل البريد الإلكتروني المقدم من جانب المستهلك عند بدء النزاع.

string

time_created

يمثل وقت إنشاء النزاع.

datetime

status

يمثل الحالة الحالية للنزاع.

enum{resolved, pending}

reason

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

enum{pending, refunded_in_cash, granted_replacement_item, denied_refund, banned_user, refunded_by_facebook}

test

معلمة اختيارية تظهر عند إجراء عملية دفع بواسطة مسؤول اختبار لعملية الدفع مُدرَج في لوحة معلومات التطبيق. ويمثل معاملة لم يتم اقتطاعها من وسيلة الدفع الخاصة بالمستهلك

boolean

النشر

يمكنك إنشاء عمليات الدفع عن طريق استخدام عمليات الدفع على فيسبوك.

الحذف

لا يمكنك حذف عمليات الدفع باستخدام API هذه.

التحديث

لا يمكنك تحديث عمليات الدفع باستخدام عنصر الربط هذا.

عناصر الربط

الاسم الوصف

/dispute

تحديث حالة النزاع الخاص بعملية الدفع.

/refunds

استرداد الأموال الخاصة بعملية دفع.