تكامل الدفع المخصص
الفئة:
الموضوعات في هذا المستند:
تجهيز مدفوعات الأطراف الثالثة Monetization
ويمكن تحقيق عملية تجهيز مدفوعات الأطراف الثالثة من خلال طريقتين متزامنتين ومتسامحتين. الطريقة المتزامنة تتطلب استجابات فورية من عنصر التكامل في الدفع الخاص بك، في حين أن الطريقة المتناغمة تجمع بين استخراج الفواتير من Monetization ثم استيراد المدفوعات في وقت لاحق.
معلومات:
عادةً، قضية استخدامك تحدد طريقة المعالجة المثلىتجهيز المدفوعات المتأخرة
من أجل تجهيز المدفوعات المتناثرة أنت تصدر فواتير من Monetization والمدفوعات يتم تجهيزها خارج Monetization تماماً عندما يكون لديك نتائج تجهيز المدفوعات تستوردهم عبر CSV الملفات أو الملفات Monetization API.
الفواتير المصدرة
يمكنك تصدير الفواتير من Monetization عن طريق وضع خريطة تصدير فواتير وتحديد جدولة عمل للتصدير، مما سيصدر الملفات إلى عملية تصدير SFTP (ب) الموقع، أو عن طريق الاشتراك في إنشاء فواتير عن طريق ويهوك، مما سيحفز على طلب فاتورة إلى العنوان المقدم من الاتحاد الثوري للقوات المسلحة الليبرية عند إنشاء فاتورة جديدة.
وظيفة التصدير - CSV ملف SFTP
تصدير الفواتير CSV ملفات، خريطة تصدير فواتير يجب أن تُشكل لتحديد بارامترات فواتير CSV أعمدة الملف Monetization يتيح الموقع الشبكي للمستعمل هذه التشكيلة Business configuration Export Invoice mappers.
الشكل 1: نموذج لخارطة تصدير الفواتير*
الجدول الزمني لصادرات الفواتير من خلال Exporting Jobs التي يمكن أن تكون مهمة واحدة أو مؤتمتة لفترات محددة. The Exporting Job will save the exported CSV ملف مقدم إلى كل طرف SFTP الموقع storage/invoice/folder_name/file_name.csv.
الشكل 2: مثال على وظيفة تصدير الفواتير*
الإخطار - طريقة الويب
إصدار الفواتير عبر الإنترنت يسمح لك بتلقي الفواتير فور إنشاءها ويتحقق ذلك من خلال صياغة قاعدة الإخطار بالفواتير، التي سترسل كل فواتير مُنشأة كـ JSON طلب الجسم إلى العنوان المقدم URL، إلى جانب أي خيارات سابقة للثقة.
الشكل 3: نموذج إنشاء فواتير على شبكة الإنترنت*
مدفوعات الاستيراد
يمكنك استيراد معاملات الدفع Monetization عن طريق وضع خريطة لواردات الدفع وتحميل المبلغ CSV الملفات إلى SFTP موقع المدخلات أو باستخدام Monetizations REST API.
CSV استيراد الملفات SFTP
For Monetization المعاملات المتعلقة بتسديد الواردات عن طريق CSV الملفات، يجب أن يكون هناك موصل للشحن التشكيلة ممكنة من خلال Monetization المستعمل المتقاطع تحت Business configuration Import Payment mappers.
The Payment mapper allows for the mapping of CSV الأعمدة المتعلقة بمعايير معاملات الدفع وتعريف ملف ما قبل المحاكمة، التي تحتاج إلى أن تكون موجودة في الملفات المحملة.
تم تحميل الملفات على SFTP خادم في الملف edl/input وسينقل إلى edl/processed, edl/successful, edl/errorو edl/rejected الملف حسب نتائج التجهيز
الشكل 4: نموذج لخارطة استيراد المدفوعات*
Import via API نداء
لاستيراد معاملة سداد عن طريق Monetization APIضع JSON طلب يتضمن تفاصيل المعاملات Monetization REST API.
ملاحظة:
يجب أولاً التصديق على المستعمل للتواصل مع Monetization API.التوثيق
Monetization API تستخدم شهادة الدببة:
- نفذ طلب التوثيق بإسم المستخدم وكلمة السر ورمز الموقع المحدد
- الحصاد
tokenمن الرد - وضع
Authorizationرئيس إلىBearer <token>في الطلبات المقبلة. - ستنتهي الرحلة بعد 5 دقائق
URL: {{api_url}}/authenticate
Headers
Content-Type:application/json
Body
{
"username": "your_monetization_username",
"password": "password",
"site_code": "your_monetization_site_code - subdomain"
}
طلب استيراد المدفوعات
URL: {{api_url}}/api/v1/import
Headers
Content-Type:application/json
Authorization:Bearer {{auth_token}}
Data-Type:Payment
Body
{
"invoice_id": 123,
"transaction_identifier": "T-1233-cew3-445f-feew3",
"amount": 150,
"transaction_time": 1600613169000,
"currency": "EUR",
"method": "other",
"type": "charge",
"provider": "stripe"
}
تجهيز المدفوعات المتأخرة
يتطلب تجهيز المدفوعات المتزامنة Monetization و عنصر التكامل في الدفع وتتيح طريقة المعالجة هذه الحصول على تراخيص بطاقات الائتمان/الديون والمدفوعات الفورية.
أنت مخادع Monetization (ب) تحديد الحالات التي ينبغي فيها إرسال طلبات تجهيز المدفوعات ذات الصلة؛ Monetization وقد استجابات محددة سلفاً يتوقعها في المقابل. وتتيح طريقة المعالجة هذه تخزين الإحالات المرجعية لطريقة الدفع على العملاء وتدعم العمليات الآلية لجمع المدفوعات.
For Monetization عملية الإدماج هي تقريباً نفس عملية التكامل خارج الإطار مع مقدِّم قائم (مقدم)Stripe, Braintree… ومع ذلك، يتم تنفيذ البلاغ من خلال عنصر وضعته لكم، الذي يعمل كبوابة لمقدم الدفع المحلي.
العمليات الأساسية لدعم عملية تجهيز المدفوعات المتزامنة:
- التأسيس
- المأذون به
- Capture
- الرسم
إنشاء مقدم مدفوعات طرف ثالث
(ج) إنشاء عملية إدماج لمقدمي مدفوعات من طرف ثالث، وتحديد موقع لبوابة الدفع من طرف ثالث، وتوفير نظام " يورو " حيثما Monetization ينبغي أن ترسل الطلبات.
هذا يمكن تحقيقه على اليو آي تحت System configuration Payment gateways أو عن طريق إنشاء مدخل للدفع عبر Monetization REST API.
URL: {{api_url}}/api/v1/payment-gateway-profiles
Headers
Content-Type:application/json
Authorization:Bearer {{auth_token}}
Request
{
"provider": "third-party",
"headers": {
"PGW_URL": "URL to your payment gateway"
}
}
عمليات العملاء
ولا تنطبق عمليات العملاء إلا في الحالات التي يدعم فيها مقدم الدفع من طرف ثالث إدارة العملاء. إذا كان مقدم الدفع لا يدعم إدارة العملاء، ثم الزبائن ids ويمكن استبداله بأي قيمة (مثلاً، أونكس مراتب الطلب).
إنشاء زبون (دون بطاقة)
يُنشئ زبوناً كهدف على خدمة مقدِّم الدفع.
Request sent by Monetization:
{
"action": "create_customer",
"content": {
"customer": {
"first_name": "John",
"last_name": "Anderson",
"company": "Company",
"email": "john_anderson@testmail123.com",
"phone": "003861234335",
"tax_identifier": "123543569596"
},
"billing_address": {
"first_name": "John",
"last_name": "Anderson",
"company": "Company",
"street_address": "Address street 12",
"locality": "Name of City",
"postal_code": "84116",
"region": "Region",
"country_code": "SI",
"country_name": "Slovenia "
}
}
}
Expected response:
HTTP Status: 201 Created
{
"customer": {
"id": "payment_provider_customer_id"
}
}
آخر العملاء
تحديث جسم العميل على خدمة مقدم الدفع.
Request sent by Monetization:
{
"action": "update_customer",
"content": {
"customer": {
"id": "payment_provider_customer_id_1",
"first_name": "John",
"last_name": "Anderson",
"company": "Company",
"email": "john_anderson@testmail123.com",
"phone": "003861234335",
"tax_identifier": "123543569596"
},
"billing_address": {
"first_name": "John",
"last_name": "Anderson",
"company": "Company",
"street_address": "Address street 12",
"locality": "Name of City",
"postal_code": "84116",
"region": "Region",
"country_code": "SI",
"country_name": "Slovenia "
}
}
}
Expected response:
HTTP Status: 204 No Content
No Response Body
إقرأ الزبون
يَقْرأُ a جسم زبونِ مِنْ خدمةِ مقدّمِ الدفعِ.
{
"action": "read_customer",
"content": {
"id": "payment_provider_customer_id_1"
}
}
Expected response:
HTPP Status: 200 OK
{
"content": {
"customer": {
"id": "payment_provider_customer_id_1",
"first_name": "John",
"last_name": "Anderson",
"company": "Company",
"email": "john_anderson@testmail123.com",
"phone": "003861234335",
"tax_identifier": "123543569596"
},
"billing_address": {
"first_name": "John",
"last_name": "Anderson",
"company": "Company",
"street_address": "Address street 12",
"locality": "Name of City",
"postal_code": "84116",
"region": "Region",
"country_code": "SI",
"country_name": "Slovenia "
},
"credit_cards": [
{
"is_default": true,
"card_holder_name": "John Anderson",
"expiration_month": "03",
"expiration_year": "2026",
"type": "Mastercard",
"token": "payment_provider_card_token",
"last_four": "1234"
}
]
}
}
يحذف الزبون
يحذف اسم العميل من خدمة مقدم الدفع.
Request sent by Monetization:
{
"action": "delete_customer",
"content": {
"id": "payment_provider_customer_id_1"
}
}
Expected response:
HTTP Status: 204 No Content
No Response Body
عمليات الشحن
وتشير عمليات البطاقة إلى إنشاء أو إلغاء بطاقات الائتمان والخصوم.
الإنشاء (طلب بطاقة البدء)
تقوم بعملية يمكن فيها للزبون أن يقدم تفاصيل البطاقات الائتمانية، التي يتم ضبطها وتخزينها في Monetization. بناء على طلب لإضافة بطاقة ائتمان جديدة Monetization سيرسلون طلباً لعنصر التكامل
عنصر التكامل الخاص بك بحاجة إلى معالجة أي منطق يتعلق بخدمات مقدمي المدفوعات وإعادة توجيه الاتحاد الثوري إلى Monetization كرد سيعاد توجيه الزبون بعد ذلك إلى الـ (يورل) المقدّم، حيث يقوم مُقدّم الدفع بإستضافة استمارة سيجمع ويُحدّد تفاصيل بطاقة العميل.
الشكل 5: وضع بطاقات مميتة*
Request sent by Monetization:
{
"action": "setup",
"content": {
"customer": {
"id": "payment_provider_customer_id_1",
"first_name": "John",
"last_name": "Anderson",
"company": "Company",
"email": "john_anderson@testmail123.com",
"phone": "003861234335",
"tax_identifier": "123543569596"
},
"billing_address": {
"first_name": "John",
"last_name": "Anderson",
"company": "Company",
"street_address": "Address street 12",
"locality": "Name of City",
"postal_code": "84116",
"region": "Region",
"country_code": "SI",
"country_name": "Slovenia "
}
"custom_attributes": {
"callback_url": "https://callbackurl.com"
}
}
}
Expected response:
HTTP Status: 201 Created
{
"customer": {
"id": "payment_provider_customer_id"
},
"redirect_url": "https://card-data-collection-form.com"
}
بطاقة تحذف
يرسل طلبا إلى عنصر التكامل الخاص بك لمعالجة منطق نقل البطاقات الائتمانية عن طريق خدمات مقدمي المدفوعات، ثم يزيل الإشارة من Monetization على النجاح
Request sent by Monetization:
{
"action": "delete_credit_card",
"content": {
"customer": {
"id": "provider_customer_id_34"
},
"credit_card": {
"token": "provider_card_token_x23423532"
}
}
}
Expected response:
HTTP Status: 204 No Content
No Response Body
عمليات المعاملات
وتشير عمليات المعاملات إلى إجراءات المعاملات المنفذة على طريقة الدفع المخزن (بطاقة الاعتماد/الدائن)(). وتشمل هذه الإجراءات ما يلي:
الإذن
الرخصة تُستخدم لترخيص أموال على طريقة دفع الزبائن ويمكن في وقت لاحق الحصول على الإذن أو التصويت عليه. ويرسل الطلب الوارد أدناه إلى عنصر التكامل الخاص بك، الذي ينبغي أن يعالج منطق خدمة مقدمي المدفوعات وأن يعيد ردا.
Request sent by Monetization:
{
"action": "authorize",
"content": {
"amount": 20.5,
"currency": "EUR",
"customer": {
"id": "provider_customer_id_34"
},
"credit_card": {
"token": "provider_card_token_x23423532"
}
}
}
Expected response:
HTTP Status: 202 accepteded
{
"transaction_id": "payment_provider_transaction_id",
"amount": 25.5,
"currency": "EUR",
"time": "1650629967000",
"success": true,
"message": "Message from provider if given",
"code": "Code from provider if given"
}
Capture
ويشير الرسم إلى جمع الأموال المأذون بها من طلب الإذن السابق. ويمكن أن يكون مبلغ التحصيل مساويا للمبلغ المأذون به أو أقل منه.
وتُفرج عن أي أموال مأذون بها غير موزعة إلى العميل عن طريق خدمة مقدمي المدفوعات. ويرسل الطلب الوارد أدناه إلى عنصر التكامل الخاص بك، الذي ينبغي أن يعالج منطق خدمة مقدمي المدفوعات وأن يعيد ردا.
Request sent by Monetization:
{
"action": "capture",
"content": {
"transaction_id": "provider_transaction_id_t2134234",
"amount": 10.5
}
}
Expected response:
HTTP Status: 202 accepteded
{
"transaction_id": "payment_provider_transaction_id",
"amount": 10.5,
"currency": "EUR",
"time": "1650629967000",
"success": true,
"message": "Message from provider if given",
"code": "Code from provider if given"
}
الرسم
ويأذن الشحن بالصناديق ويجمعها كمعاملة فورية واحدة. ويرسل الطلب الوارد أدناه إلى عنصر التكامل الخاص بك، الذي ينبغي أن يعالج منطق خدمة مقدمي المدفوعات وأن يعيد ردا.
Request sent by Monetization:
{
"action": "charge",
"content": {
"amount": 25.5,
"currency": "EUR",
"customer": {
"id": "provider_customer_id_34"
},
"credit_card": {
"token": "provider_card_token_x23423532"
}
}
}
Expected response:
HTTP Status: 202 accepteded
{
"transaction_id": "payment_provider_transaction_id",
"amount": 25.5,
"currency": "EUR",
"time": "1650629967000",
"success": true,
"message": "Message from provider if given",
"code": "Code from provider if given"
}
Void
وتبطل عملية التصويت عملية الترخيص، وتطلق الأموال المأذون بها. ويرسل الطلب الوارد أدناه إلى عنصر التكامل الخاص بك، الذي ينبغي أن يعالج منطق خدمة مقدمي المدفوعات وأن يعيد ردا.
Request sent by Monetization:
{
"action": "void",
"content": {
"transaction_id": "provider_transaction_id_t2134234"
}
}
Expected response:
HTTP Status: 202 accepteded
{
"transaction_id": "payment_provider_transaction_id",
"time": "1650629967000",
"success": true,
"message": "Message from provider if given",
"code": "Code from provider if given"
}
المبالغ المردودة
Refund returns funds to the client and references a previous Charge or Capture transaction. ويرسل الطلب الوارد أدناه إلى عنصر التكامل الخاص بك، الذي ينبغي أن يعالج منطق خدمة مقدمي المدفوعات وأن يعيد ردا.
Request sent by Monetization:
{
"action": "refund",
"content": {
"transaction_id": "provider_transaction_id_t2134234",
"amount": 10.5
}
}
Expected response:
HTTP Status: 202 accepteded
{
"transaction_id": "payment_provider_transaction_id",
"amount": 25.5,
"currency": "EUR",
"time": "1650629967000",
"success": true,
"message": "Message from provider if given",
"code": "Code from provider if given"
}
التعامل مع الأخطاء
وفي حالة عدم نجاح عملية ما في عنصر التكامل الخاص بك، وإعادة أي مركز خارج نطاق 200-300 ورسالة الخطأ في هيئة الرد.