การใช้ Meta Pay API

เมื่อคุณประมวลผลการชำระเงินสำหรับ Meta Pay คุณต้องแจ้งให้ Meta ทราบถึงกิจกรรมสำหรับธุรกรรมการชำระเงิน เช่น การอนุญาตและการคืนเงิน โดยกระตุ้นการทำงานของ Webhooks ใน Meta Pay API กิจกรรมสำหรับธุรกรรมการชำระเงินจะแสดงในหน้าคำสั่งซื้อและการชำระเงินของบัญชี Facebook ของลูกค้า

หากต้องการเรียนรู้วิธีใช้ API ต่างๆ ของ Meta โปรดดูภาพรวม API กราฟ และโปรดทราบว่า API ที่อธิบายด้านล่างนี้มีความเกี่ยวข้องกับ URL โฮสต์ API กราฟ (https://graph.facebook.com) โปรดดูข้อมูลทั่วไปเพิ่มเติมที่ภาพรวมการผสานการทำงาน Meta Pay

การเริ่มต้นใช้งาน

ก่อนเริ่มใช้งาน Meta Pay API คุณควรดำเนินการดังนี้

การเรียกใช้ Meta Pay API

คุณจะสร้างแอพพลิเคชั่นใหม่ในพอร์ทัล Meta for Developers โดยเป็นส่วนหนึ่งของขั้นตอนการเริ่มต้นใช้งานทั่วไป หลังจากที่คุณสร้างแอพพลิเคชั่น คุณจะได้รับ ID ของแอพและข้อมูลลับของแอพสำหรับแอพของคุณ

การเรียกใช้ในแต่ละครั้งที่คุณดำเนินการกับ Meta Pay API จะต้องใช้โทเค็นการเข้าถึงแอพที่ได้จาก ID ของแอพและข้อมูลลับของแอพ ส่งโทเค็นการเข้าถึงแอพโดยใช้ส่วนหัวเป็น Authorization ไม่ใช่พารามิเตอร์การสืบค้น access_token Meta Pay API จะปฏิเสธการเรียกใช้ด้วยโทเค็นผู้ใช้

ตัวอย่างเช่น ให้ใช้โค้ดดังนี้

Authorization: OAuth <APP_ACCESS_TOKEN>

ลายเซ็น

คำขอ HTTP ทุกรายการที่ดำเนินการกับ Meta Pay API จะต้องมีส่วนหัวคำขอเป็น FBPAY-SIGNATURE ค่าของส่วนหัวนี้คืออ็อบเจ็กต์ JSON Web Signature (JWS) ที่มีอัลกอริทึม ES256, Compact Serialization และเพย์โหลดที่แยกออก (ตาม https://tools.ietf.org/html/rfc7515#appendix-F) ค่าเพย์โหลดคือเนื้อหาของคำขอ HTTP POST คีย์ลายเซ็น JWS ต้องได้รับการระบุด้วยส่วนหัว x5c ซึ่งต้องมีใบรับรองที่เชื่อมโยงถึงรูทที่เชื่อถือได้ของพาร์ทเนอร์ ใบรับรองรูทของพาร์ทเนอร์จะแชร์ไว้กับ Meta โดยเป็นส่วนหนึ่งของกระบวนการเริ่มต้นใช้งาน (อ้างอิงถึงในชื่อใบรับรองลายเซ็น Meta Pay API)

ตัวอย่างคำขอที่มีลายเซ็นมีดังนี้

curl -i -X POST \
  -H "Content-Type: application/json" \
  -H "FBPAY_SIGNATURE: eyJhbGciOiJFUzI1NiIsIng1YyI6WyJNSUlCaERDQ0FTcWdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakFoTVI4d0hRWURWUVFEREJad1lYSjBibVZ5SUhOcFoyNWhkSFZ5WlNCalpYSjBNQjRYRFRJd01EY3hNekl5TWpVek1Gb1hEVEkwTURNeE1USXlNalV6TUZvd0lURWZNQjBHQTFVRUF3d1djR0Z5ZEc1bGNpQnphV2R1WVhSMWNtVWdZMlZ5ZERCWk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQkFuRngwR1NKMklPZGZpcFdiMGMwZytBVThlbDh6QnRVS0kxdWRzT2kzN2thd1JRSFkzV29YaWRvRThIOHM1cVIySmo2ZkFKWVhOTURXY0NiditWMEJ1alV6QlJNQjBHQTFVZERnUVdCQlR4NlBGRkhjd2FUZnY5cVdzZUJcL1NjMWFPbVZ6QWZCZ05WSFNNRUdEQVdnQlR4NlBGRkhjd2FUZnY5cVdzZUJcL1NjMWFPbVZ6QVBCZ05WSFJNQkFmOEVCVEFEQVFIXC9NQW9HQ0NxR1NNNDlCQU1DQTBnQU1FVUNJUUNBRE9zZ0pZanRXVm9xNUZOSjc3U2JDeWtON1ZldUlKR2pXb3NBVUFNd1ZRSWdUTlVcL2ttc1wvN0cxVUx5Z01DRWVXemNiYTNrMVo4NEE4RmNlMXQzYUNGbGc9Il19..ZnT7ZR3EqsPYMQt3WdgUZYScBiyK9RI77zMaUKr-tkFRBHgBJQVTOORwM2fFh0QQCTLwOp1TiAzt_q9ofvw6JQ" "https://graph.facebook.com/1001200005002/notify_authorizations" \
  -d '{"notification":{"partner_merchant_id":"123e4567-e89b-12d3-a456-426614174000","container_id":"cGF5bWVudF9jb250YWluZAXI6MTIzNDU2NzhfX01FUkNIQU5UX1RFU1RfRTJFX19QU1BfVEVTVF8x","event_time":1582230020020,"type":"notify_authorizations"},"resource":{"partner_auth_id":"1234567890","auth_amount":{"currency":"USD","value":29508},"status":"SUCCEEDED","created_time":1582230019010,"metadata":[]},"idempotence_token":"ddbdf2cf-d339-4b0b-a27e-4731d8d37c9d"}'

คำขอข้างต้นเป็นการเข้าโค้ดของข้อมูลต่อไปนี้

{
  "notification": {
    "partner_merchant_id": "123e4567-e89b-12d3-a456-426614174000",
    "container_id": "cGF5bWVudF9jb250YWluZAXI6MTIzNDU2NzhfX01FUkNIQU5UX1RFU1RfRTJFX19QU1BfVEVTVF8x",
    "event_time": 1582230020020,
    "type": "notify_authorizations"
  },
  "resource": {
    "partner_auth_id": "1234567890",
    "auth_amount": {
      "currency": "USD",
      "value": 29508
    },
    "status": "SUCCEEDED",
    "created_time": 1582230019010,
    "metadata": []
  },
  "idempotence_token": "ddbdf2cf-d339-4b0b-a27e-4731d8d37c9d"
}

ด้านล่างนี้คือลายเซ็นจากคำขอก่อนหน้า โดยมีการถอดโค้ดแบบ Base64 และ JSON แล้วเพื่อความชัดเจน

base64url(
 json({
   "x5c": [
     "MIIBhDCCASqgAwIBAgIBATAKBggqhkjOPQQDAjAhMR8wHQYDVQQDDBZwYXJ0bmVyIHNpZ25hdHVyZSBjZXJ0MB4XDTIwMDcxMzIyMjUzMFoXDTI0MDMxMTIyMjUzMFowITEfMB0GA1UEAwwWcGFydG5lciBzaWduYXR1cmUgY2VydDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABAnFx0GSJ2IOdfipWb0c0g+AU8el8zBtUKI1udsOi37kawRQHY3WoXidoE8H8s5qR2Jj6fAJYXNMDWcCbv+V0BujUzBRMB0GA1UdDgQWBBTx6PFFHcwaTfv9qWseB/Sc1aOmVzAfBgNVHSMEGDAWgBTx6PFFHcwaTfv9qWseB/Sc1aOmVzAPBgNVHRMBAf8EBTADAQH/MAoGCCqGSM49BAMCA0gAMEUCIQCADOsgJYjtWVoq5FNJ77SbCykN7VeuIJGjWosAUAMwVQIgTNU/kms/7G1ULygMCEeWzcba3k1Z84A8Fce1t3aCFlg="
   ],
   "alg": "ES256"
 })
) + // Protected Header
 "." +
 "" + // Payload is detached
 "." +
 "ZnT7ZR3EqsPYMQt3WdgUZYScBiyK9RI77zMaUKr-tkFRBHgBJQVTOORwM2fFh0QQCTLwOp1TiAzt_q9ofvw6JQ" // Signature

นิจพล

ช่อง idempotence_token ใช้เพื่อป้องกันการดำเนินการซ้ำกับคำขอ เมื่อมีการส่งคำขออีกครั้งหลังจากเครือข่ายล้มเหลวหรือหมดเวลา โทเค็นนิจพล (Idempotence Token) เป็นค่าที่ไม่ซ้ำกันที่ไคลเอ็นต์สร้างขึ้น และไคลเอ็นต์จะกำหนดวิธีสร้างโทเค็นนี้ ตัวอย่างเช่น คุณสามารถใช้ V4 UUID เพื่อสร้างโทเค็นนิจพลได้

เมื่อดำเนินการตามคำขอสำเร็จ หรือการเรียกใช้ไปยัง API ส่งคืนผลลัพธ์ที่ถูกต้องกลับมา ระบบจะบันทึกข้อมูลการตอบกลับด้วยโทเค็นนิจพล หากมีการลองดำเนินคำขอที่สำเร็จอีกครั้งหนึ่งด้วยโทเค็นนิจพลที่เคยใช้ก่อนหน้านี้ ระบบจะส่งคืนการตอบกลับที่บันทึกไว้ก่อนหน้านั้นโดยไม่รันโค้ดใดๆ ใหม่

เมื่อคำขอทำให้เกิดข้อผิดพลาด ระบบจะไม่บันทึกผลลัพธ์ใดๆ คุณสามารถลองส่งคำขอใหม่ และใช้โทเค็นนิจพลเดิมได้

หากคุณส่งคำขอ 2 รายการพร้อมกันด้วยโทเค็นนิจพลเดียวกัน จะมีเพียงคำขอเดียวที่จะส่งข้อมูลตอบกลับคืนมา

โทเค็นนิจพลมีไว้สำหรับการใช้งานชั่วคราว และใช้สำหรับการเรียกใช้ API ซ้ำในกรณีที่เกิดการล้มเหลวเท่านั้น หากคุณลองส่งคำขอซ้ำอีกครั้งหลังผ่านไประยะเวลาหนึ่ง คุณอาจได้รับการตอบกลับที่ไม่เหมือนกับการเรียกใช้ก่อนหน้า

ระบบจะไม่สนใจพารามิเตอร์คำขอ หากคุณเปลี่ยนเนื้อหาในคำขอไม่ว่าในทางใด ให้สร้างโทเค็นนิจพลใหม่สำหรับคำขอนั้น

การกระทบยอดทีละหลายรายการ

เมื่อคุณประมวลผลการชำระเงิน คุณต้องแจ้งให้ Meta ทราบถึงกิจกรรมสำหรับธุรกรรมการชำระเงินโดยใช้ Webhooks ของ Meta Pay เมื่อกระตุ้นการทำงานของ Webhooks กิจกรรมสำหรับธุรกรรมการชำระเงินจะแสดงในหน้ากิจกรรม Facebook Pay ของบัญชี Facebook ของลูกค้าโดยเร็วที่สุด

Meta จะบันทึกการแจ้งเตือนที่ล้มเหลวระหว่างการกระทบยอดทีละหลายรายการและจะแสดงในบัญชี Facebook ของลูกค้าในภายหลัง

ในแต่ละวัน ให้คุณอัพโหลดไฟล์ที่มีการแจ้งเตือนที่คุณส่งให้ Meta ในวันนั้นๆ เพื่อใช้ประกอบการกระทบยอดทีละหลายรายการ ให้รวมการแจ้งเตือนทั้งที่สำเร็จและล้มเหลว โปรดดูรายละเอียดการอัพโหลดไฟล์ไปยัง Meta API ที่หัวข้ออัพโหลดไฟล์ไปยัง Facebook

การจัดการข้อผิดพลาด

Meta Pay API ใช้การจัดการข้อผิดพลาดของ API กราฟแบบมาตรฐาน

การเริ่มต้นการทำงานและอัพเดตผู้ขาย

หากต้องการเริ่มต้นการทำงานหรืออัพเดตข้อมูลสำหรับผู้ขายที่คุณสนับสนุน ให้ส่งคำขอ POST ไปยัง API กราฟของผู้ขาย/metapay_partner/merchant แล้วระบุพารามิเตอร์ผู้ขาย

https://graph.facebook.com/metapay_partner/merchant

พารามิเตอร์คำขอ

พารามิเตอร์ประเภทคำอธิบายจำเป็นหรือไม่

partner_merchant_id

สตริง

ตัวระบุที่ไม่ซ้ำกันสำหรับบัญชีของผู้ขายที่มีพาร์ทเนอร์การชำระเงิน

จำเป็น

business_uri

สตริง

URI ไปยังเว็บไซต์ของผู้ขายที่แสดงให้ลูกค้าเห็นในอินเทอร์เฟซ Meta Pay URI จะต้องขึ้นต้นด้วย http:// หรือ https://

จำเป็น

display_name

สตริง

ชื่อผู้ขายตามที่แสดงให้ลูกค้าเห็นในอินเทอร์เฟซ Meta Pay

จำเป็น

mcc

int64

[เลิกใช้แล้ว]

รหัสหมวดหมู่ของผู้ขาย Meta ใช้รหัสนี้เพื่อจัดหมวดหมู่กิจกรรมการชำระเงินและรับรองว่าการชำระเงินเป็นไปตามข้อกำหนดในการใช้บริการของเรา


หมายเหตุ:

จะต้องระบุ mcc หรือ mcc_list

ไม่จำเป็น*

mcc_list

อาร์เรย์< int64>

รายการรหัสหมวดหมู่ของผู้ขาย Meta ใช้รหัสเหล่านี้เพื่อจัดหมวดหมู่กิจกรรมการชำระเงินและรับรองว่าการชำระเงินเป็นไปตามข้อกำหนดในการใช้บริการของเรา


หมายเหตุ:

จะต้องระบุ mcc หรือ mcc_list ควรใช้พารามิเตอร์นี้มากกว่า mcc

ไม่จำเป็น*

merchant_status

สตริง

ระบุว่าผู้ขายถูกเปิดใช้งานหรือปิดใช้งานไว้กับพาร์ทเนอร์การชำระเงิน ซึ่งอาจเป็น PENDING, ENABLED หรือ DISABLED อย่างใดอย่างหนึ่ง โดย "Pending" (รอดำเนินการ) จะมีผลเช่นเดียวกับ "Disabled" (ปิดใช้งาน) แต่อาจเป็นการระบุสถานะปิดใช้งานแบบชั่วคราวเท่านั้น

จำเป็น

icon_uri

URI

URI ไปยังไอคอนผู้ขายที่แสดงให้ลูกค้าเห็นในอินเทอร์เฟซ Meta Pay รูปแบบไฟล์ของไอคอนจะต้องเป็น png หรือ jpeg อย่างใดอย่างหนึ่ง

ไม่จำเป็น

support_email

สตริง

อีเมลเพื่อให้ลูกค้าใช้ขอใบเสร็จหรือข้อมูลสรุปของธุรกรรม

ไม่จำเป็น

support_phone

สตริง

หมายเลขโทรศัพท์เพื่อให้ลูกค้าใช้ขอรับความช่วยเหลือสำหรับธุรกรรมการชำระเงิน ระบุหมายเลขโทรศัพท์โดยใช้รูปแบบอย่างใดอย่างหนึ่งต่อไปนี้ ได้แก่ 16315551000, +1 631 555 1001, +1 (631) 555-1004, 1-631-555-1005

ไม่จำเป็น

valid_origins

Array< String>

รายชื่อ URI ต้นทางด้านการรักษาความปลอดภัยที่ถูกต้องทั้งหมดสำหรับผู้ขาย รายการนี้ใช้เพื่อรับรองว่าการชำระเงินจะได้รับการเริ่มต้นจากต้นทางด้านการรักษาความปลอดภัยบนเว็บตามที่คาดไว้

ไม่จำเป็น

pixel_id

สตริง

ตัวระบุที่ไม่ซ้ำกันสำหรับพิกเซลของ Meta ของผู้ขาย รายการนี้ใช้เพื่อรองรับฟีเจอร์เฉพาะของ Meta Checkout ในตัวจัดการโฆษณา

ไม่จำเป็น

การตอบกลับ

หลังจากที่คุณส่งคำขอ POST ไปยัง API ผู้ขาย การตอบกลับ 200 OK จะระบุว่า POST ได้รับการประมวลผลสำเร็จแล้ว เนื้อหาการตอบกลับจะระบุสถานะของผู้ขาย ซึ่งอาจเป็น ENABLED หรือ DISABLED ตัวแก้ไขสถานะที่ไม่ได้เว้นว่างจะให้ข้อมูลเพิ่มเติม

การตอบกลับที่สำเร็จโดยทั่วไปจะมีลักษณะดังนี้

{
    "status":"ENABLED",
    "status_modifiers":[]
}

การตอบกลับสำหรับผู้ขายที่อยู่ระหว่างการคัดกรองชั่วคราวจะมีลักษณะดังนี้

{
    "status":"DISABLED",
    "status_modifiers":["PENDING_SCREENING"]
}

รายการต่อไปนี้คือตัวแก้ไขสถานะที่อาจพบได้

ตัวแก้ไขสถานะคำอธิบาย

PENDING_SCREENING

ผู้ขายจะถูกบล็อกไม่ให้ใช้ Meta Pay เป็นการชั่วคราวในระหว่างที่ยังรอผลการคัดกรองการปฏิบัติตามกฎระเบียบ โดยทั่วไปแล้ว การคัดกรองจะเสร็จสิ้นใน 24 ชั่วโมง ให้สืบค้น API ผู้ขายเพื่อตรวจสอบยืนยันสถานะ

INVALID_ICON

คุณไม่สามารถใช้ icon_uri ได้ รูปแบบไฟล์ไม่ถูกต้อง ขนาดไฟล์เกินขีดจำกัด หรือไม่สามารถเรียกใช้ URI ได้ ตัวแก้ไขสถานะนี้ไม่ได้ยับยั้งผู้ขายจากการใช้ Meta Pay

INTEGRITY_FLAG

คุณสมบัติอย่างน้อย 1 ประการของผู้ขายทำให้เกิดการรายงานปัญหาด้านความสมบูรณ์ถูกต้อง ผู้ขายจะถูกปิดใช้งาน

BLOCKED

ผู้ขายจะถูกบล็อกไม่ให้ใช้งาน Meta Pay เป็นการถาวร

ดูผู้ขาย

หากต้องการดึงข้อมูลผู้ขายที่ลงทะเบียนไว้ ให้ส่งคำขอ GET ไปที่ API กราฟของผู้ขาย /metapay_partner/merchant

https://graph.facebook.com/metapay_partner/merchants

พารามิเตอร์คำขอ

ระบบรองรับพารามิเตอร์คำขอเพิ่มเติมต่อไปนี้เป็นพารามิเตอร์ URL

พารามิเตอร์ประเภทคำอธิบายจำเป็นหรือไม่

partner_merchant_id

สตริง

ID ผู้ขายที่เป็นพาร์ทเนอร์ซึ่งคั่นด้วยเครื่องหมายจุลภาคสำหรับใช้เป็นเกณฑ์การกรอง

ไม่จำเป็น

การตอบกลับ

ผลลัพธ์จาก API ผู้ขาย GET จะได้รับการ แบ่งหน้า ไปที่หน้าที่ลิงก์เพื่อดูรูปแบบการตอบกลับทั่วไป แต่ละองค์ประกอบที่ส่งคืนกลับมาในอาร์เรย์ data จะอยู่ในรูปพารามิเตอร์คำขอผู้ขาย ตัวอย่าง:

curl -H "Authorization: OAuth $OAUTH" -X GET "https://graph.facebook.com/metapay_partner/merchants?partner_merchant_id=MERCHANT_TEST_1"
{
    "data": [
        {
            "partner_merchant_id": "MERCHANT_TEST_1",
            "merchant_status": "DISABLED",
            "display_name": "Test merchant 1",
            "business_uri": "https://facebook.com/",
            "icon_uri": "https://facebook.com/favicon.ico",
            "mcc_list": [7311],
            "support_email": "example@facebook.com",
            "support_phone": "+11234567890",
            "valid_origins": [
                "https://facebook.com/"
            ],
            "legal_structure": "COMPANY_TYPE_NOT_SPECIFIED",
            "status_modifiers":["BLOCKED"],
            "effective_merchant_status":"DISABLED"
        }
    ],
    "paging": {
        "cursors": {
            "before": "aaa...",
            "after": "bbb..."
        },
        "next": "https://graph.facebook.com/metapay_partner/merchants?limit=25&after=..."
    }
}

Webhooks

คุณต้องแจ้งให้ Meta ทราบถึงกิจกรรมสำหรับธุรกรรมการชำระเงิน โดยกระตุ้นการทำงาน Webhooks ของ Meta เมื่อใดก็ตามที่มีการอนุญาต การบันทึก การโต้แย้ง การชำระเงิน หรือการคืนเงินใดๆ เกิดขึ้น

การตอบกลับ 200 OK จะระบุว่า Webhook ได้รับการประมวลผลสำเร็จแล้ว เนื้อหาการตอบกลับที่สำเร็จจะส่งคืน container_id:

{
    "id":"cGF5bWVudF9jb250YWluZAXI6N2I3ODA1ZATYtZAmRiNS00Yzc4LWFjYjAtZATg3ZAjJhMzg2YTc5XzM2ODkyNjAzMTc4MDEzNzYZD"
}

หากกระตุ้นการทำงานของ Webhook ล้มเหลว โปรดลองอีกอย่างน้อย 3 ครั้งภายในอย่างน้อย 72 ชั่วโมงโดยเว้นระยะแต่ละครั้งมากขึ้นเรื่อยๆ หากการกระตุ้นการทำงานยังคงล้มเหลว คุณยังสามารถบันทึกการแจ้งเตือนในภายหลังได้ระหว่างการกระทบยอดทีละหลายรายการ

ภาพด้านล่างนี้เป็นแผนผังความสัมพันธ์ของเอนทิตี้สำหรับทรัพยากรที่จัดรูปแบบอยู่ใน Webhooks ของ Meta API คุณสมบัติที่มีจุดสีดำแสดงถึงคุณลักษณะที่จำเป็น

การแจ้งเตือน

ในแต่ละครั้งที่คุณกระตุ้นการทำงานของ Webhook ให้ใส่พารามิเตอร์การแจ้งเตือนไว้ในเนื้อหาของคำขอ และเพิ่มรายละเอียดประเภทการแจ้งเตือนในช่องทรัพยากร ตามที่อธิบายไว้ในส่วนที่ตามมา โครงสร้างทั่วไปสำหรับการแจ้งเตือนมีดังนี้

{
  idempotence_token: '<your token>',
  notification:
  {
    ...
  },
  resource:
  {
    ...
  }
}

พารามิเตอร์การแจ้งเตือน

คุณสมบัติประเภทคำอธิบายจำเป็นหรือไม่

merchant_id

สตริง

ตัวระบุที่ไม่ซ้ำกันของคุณสำหรับบัญชีของผู้ขาย อักขระต่างๆ ที่คุณสามารถใช้ได้ ได้แก่ [a-zA-Z0-9_-]

จำเป็น

type

สตริง

ประเภทการแจ้งเตือน ค่าที่ถูกต้อง ได้แก่ notify_authorizations, notify_captures, notify_disputes, notify_payments และ notify_refunds และควรตรงกับ Webhook ที่คุณกำลังกระตุ้นการทำงาน สตริงนี้จะใช้ในการกระทบยอดทีละหลายรายการ

จำเป็น

event_time

Int64

ประทับเวลา UNIX ในหน่วยมิลลิวินาที

จำเป็น

container_id

สตริง

ตัวระบุที่ไม่ซ้ำกันสำหรับโครงสร้างคอนเทนเนอร์

จำเป็น

แจ้งถึงการอนุญาต

ส่งคำขอ POST ไปยัง /<CONTAINER_ID>/notify_authorizations เพื่อแจ้งให้ Meta ทราบถึงกิจกรรมการอนุญาตสำหรับธุรกรรมการชำระเงิน

https://graph.facebook.com/<CONTAINER_ID>/notify_authorizations

ทรัพยากรในการอนุญาต

คุณสมบัติประเภทคำอธิบายจำเป็นหรือไม่

partner_auth_id

สตริง

ตัวระบุที่ไม่ซ้ำกันของคุณสำหรับการอนุญาตหรือการเรียกเก็บ อักขระต่างๆ ที่คุณสามารถใช้ได้ ได้แก่ [a-zA-Z0-9_-]

จำเป็น

auth_amount

อ็อบเจ็กต์จำนวนการแจ้งเตือน

จำนวนที่ได้รับอนุญาต ในปัจจุบัน ระบบรองรับเฉพาะ USD เท่านั้นสำหรับ currency

จำเป็น

status

สตริง

สถานะการอนุญาต PENDING, SUCCEEDED, FAILED หรือ CANCELED อย่างใดอย่างหนึ่ง

จำเป็น

created_time

Int64

ประทับเวลา UNIX หน่วยเป็นมิลลิวินาที ของเวลาที่ดำเนินการอนุญาต

จำเป็น

description

สตริง

คำอธิบายธุรกรรมการชำระเงิน

ไม่จำเป็น

statement_descriptor

สตริง

คำอธิบายธุรกรรมการชำระเงินที่แสดงให้ลูกค้าเห็น เช่น บนใบแจ้งยอดบัตรเครดิต

ไม่จำเป็น

error

อ็อบเจ็กต์ข้อผิดพลาดของการแจ้งเตือน

รายละเอียดข้อผิดพลาด ในกรณีที่มีข้อผิดพลาดเกิดขึ้น ค่าที่ถูกต้องสำหรับ code ได้แก่ INVALID_PAYMENT_METHOD, PROCESSING_FAILURE, EXPIRED และ OTHER

ไม่จำเป็น

metadata

อ็อบเจ็กต์ {String : String}

อาร์เรย์ของคู่คีย์-ค่าซึ่งให้ข้อมูลเพิ่มเติมเกี่ยวกับการอนุญาต

ไม่จำเป็น

แจ้งถึงการบันทึก

ส่งคำขอ POST ไปยัง /<CONTAINER_ID>/notify_captures เพื่อแจ้งให้ Meta ทราบถึงกิจกรรมการบันทึกสำหรับธุรกรรมการชำระเงิน

https://graph.facebook.com/<CONTAINER_ID>/notify_captures

ทรัพยากรในการบันทึก

คุณสมบัติประเภทคำอธิบายจำเป็นหรือไม่

partner_capture_id

สตริง

ตัวระบุที่ไม่ซ้ำกันของคุณสำหรับการบันทึก อักขระต่างๆ ที่คุณสามารถใช้ได้ ได้แก่ [a-zA-Z0-9_-]

จำเป็น

partner_auth_id

สตริง

ตัวระบุที่สร้างไว้ก่อนหน้านี้สำหรับการอนุญาตหรือการเรียกเก็บที่สอดคล้องกับการบันทึกนี้

ไม่จำเป็น

capture_amount

อ็อบเจ็กต์จำนวนการแจ้งเตือน

จำนวนที่บันทึกไว้ ในปัจจุบัน ระบบรองรับเฉพาะ USD เท่านั้นสำหรับ currency

จำเป็น

status

สตริง

สถานะการบันทึก PENDING, SUCCEEDED หรือ FAILED อย่างใดอย่างหนึ่ง

จำเป็น

created_time

Int64

ประทับเวลา UNIX หน่วยเป็นมิลลิวินาที ของเวลาที่ดำเนินการบันทึก

จำเป็น

note

สตริง

หมายเหตุจากผู้ขายที่อธิบายการบันทึก

ไม่จำเป็น

error

อ็อบเจ็กต์ข้อผิดพลาดของการแจ้งเตือน

รายละเอียดข้อผิดพลาด ในกรณีที่มีข้อผิดพลาดเกิดขึ้น ค่าที่ถูกต้องสำหรับ code ได้แก่ PROCESSING_FAILURE, DECLINED และ OTHER

ไม่จำเป็น

แจ้งถึงการโต้แย้ง

ส่งคำขอ POST ไปยัง /<CONTAINER_ID>/notify_disputes เพื่อแจ้งให้ Meta ทราบถึงกิจกรรมการโต้แย้งสำหรับธุรกรรมการชำระเงิน

https://graph.facebook.com/<CONTAINER_ID>/notify_disputes

ทรัพยากรในการโต้แย้ง

คุณสมบัติประเภทคำอธิบายจำเป็นหรือไม่

partner_dispute_id

สตริง

ตัวระบุที่ไม่ซ้ำกันของคุณสำหรับการโต้แย้ง อักขระต่างๆ ที่คุณสามารถใช้ได้ ได้แก่ [a-zA-Z0-9_-]

จำเป็น

created_time

Int64

ประทับเวลา UNIX หน่วยเป็นมิลลิวินาที ของเวลาที่สร้างการโต้แย้ง

จำเป็น

dispute_amount

อ็อบเจ็กต์จำนวนการแจ้งเตือน

จำนวนที่มีการโต้แย้ง ในปัจจุบัน ระบบรองรับเฉพาะ USD เท่านั้นสำหรับ currency

จำเป็น

reason

สตริง

เหตุผลสำหรับการโต้แย้ง BANK_CANNOT_PROCESS, CREDIT_NOT_PROCESSED, CUSTOMER_INITIATED, DEBIT_NOT_AUTHORIZED, DUPLICATE, FRAUDULENT, GENERAL, INCORRECT_ACCOUNT_DETAILS, INSUFFICIENT_FUNDS, PRODUCT_UNACCEPTABLE, SUBSCRIPTION_CANCELED, OTHER_UNRECOGNIZED, PRODUCT_NOT_RECEIVED, INCORRECT_AMOUNT, PAYMENT_BY_OTHER_MEANS หรือ PROBLEM_WITH_REMITTANCE อย่างใดอย่างหนึ่ง

จำเป็น

status

สตริง

สถานะการโต้แย้ง RESOLVED_BUYER_FAVOR, REVERSED_SELLER_FAVOR, RETRIEVAL_EVIDENCE_REQUESTED, RETRIEVAL_UNDER_REVIEW, RETRIEVAL_CLOSED, BUYER_REFUNDED, CHARGEBACK_EVIDENCE_REQUESTED หรือ CHARGEBACK_UNDER_REVIEW อย่างใดอย่างหนึ่ง

จำเป็น

partner_payment_id

สตริง

ตัวระบุที่สร้างไว้ก่อนหน้านี้สำหรับการชำระเงินที่สอดคล้องกับการโต้แย้งนี้

ไม่จำเป็น

partner_capture_ids

อาร์เรย์< String>

ตัวระบุสำหรับการบันทึกที่สอดคล้องกับการโต้แย้ง คุณสมบัตินี้จะระบุหรือไม่ก็ได้

ไม่จำเป็น

description

สตริง

คำอธิบายของการโต้แย้ง

ไม่จำเป็น

metadata

อ็อบเจ็กต์ {String : String}

อาร์เรย์ของคู่คีย์-ค่าซึ่งให้ข้อมูลเพิ่มเติมเกี่ยวกับการโต้แย้ง

ไม่จำเป็น

แจ้งถึงการชำระเงิน

ส่งคำขอ POST ไปยัง /<CONTAINER_ID>/notify_payments เพื่อแจ้ง Meta ถึงกิจกรรมการชำระเงินที่ไม่เกี่ยวข้องกับการดำเนินการโยกย้ายตัวเงิน เช่น คุณอาจตัดสินใจไม่ประมวลผลการชำระเงินของผู้ใช้รายหนึ่งเพราะไม่ผ่านการตรวจสอบความเสี่ยง

https://graph.facebook.com/<CONTAINER_ID>/notify_payments

ทรัพยากรการชำระเงิน

คุณสมบัติประเภทคำอธิบายจำเป็นหรือไม่

partner_payment_id

สตริง

ตัวระบุที่ไม่ซ้ำกันของคุณสำหรับการชำระเงิน อักขระต่างๆ ที่คุณสามารถใช้ได้ ได้แก่ [a-zA-Z0-9_-]

จำเป็น

status

สตริง

สถานะการชำระเงิน PENDING, SUCCEEDED, FAILED หรือ CANCELED อย่างใดอย่างหนึ่ง

จำเป็น

created_time

Int64

ประทับเวลา UNIX หน่วยเป็นมิลลิวินาที ของเวลาที่ดำเนินการชำระเงิน

จำเป็น

metadata

อ็อบเจ็กต์ {String : String}

อาร์เรย์ของคู่คีย์-ค่าซึ่งให้ข้อมูลเพิ่มเติมเกี่ยวกับการชำระเงิน

ไม่จำเป็น

แจ้งถึงการคืนเงิน

ส่งคำขอ POST ไปยัง /<CONTAINER_ID>/notify_refunds เพื่อแจ้งให้ Meta ทราบถึงกิจกรรมการคืนเงินสำหรับธุรกรรมการชำระเงิน

https://graph.facebook.com/<CONTAINER_ID>/notify_refunds

ทรัพยากรในการคืนเงิน

คุณสมบัติประเภทคำอธิบายจำเป็นหรือไม่

partner_refund_id

สตริง

ตัวระบุที่ไม่ซ้ำกันของคุณสำหรับการคืนเงิน อักขระต่างๆ ที่คุณสามารถใช้ได้ ได้แก่ [a-zA-Z0-9_-]

จำเป็น

created_time

Int64

ประทับเวลา UNIX หน่วยเป็นมิลลิวินาที ของเวลาที่สร้างการคืนเงิน

จำเป็น

refund_amount

อ็อบเจ็กต์จำนวนการแจ้งเตือน

จำนวนที่มีการคืนเงิน ในปัจจุบัน ระบบรองรับเฉพาะ USD เท่านั้นสำหรับ currency

จำเป็น

status

สตริง

สถานะของการคืนเงิน PENDING, SUCCEEDED, FAILED หรือ CANCELED อย่างใดอย่างหนึ่ง

จำเป็น

partner_capture_id

สตริง

ตัวระบุที่สร้างไว้ก่อนหน้านี้สำหรับการบันทึกที่สอดคล้องกับการคืนเงินนี้

ไม่จำเป็น

description

สตริง

คำอธิบายของการคืนเงิน

ไม่จำเป็น

statement_descriptor

สตริง

คำอธิบายการคืนเงินที่แสดงให้ลูกค้าเห็น เช่น บนใบแจ้งยอดบัตรเครดิตของลูกค้า

ไม่จำเป็น

error

อ็อบเจ็กต์ข้อผิดพลาดของการแจ้งเตือน

รายละเอียดข้อผิดพลาด ในกรณีที่มีข้อผิดพลาดเกิดขึ้น ค่าที่ถูกต้องสำหรับ code ได้แก่ PROCESSING_FAILURE, DECLINED และ OTHER

ไม่จำเป็น

metadata

อ็อบเจ็กต์ {String : String}

อาร์เรย์ของคู่คีย์-ค่าซึ่งให้ข้อมูลเพิ่มเติมเกี่ยวกับการคืนเงิน

ไม่จำเป็น

อ็อบเจ็กต์จำนวนการแจ้งเตือน

ใช้อ็อบเจ็กต์จำนวนเพื่อแสดงถึงมูลค่าที่เป็นตัวเงินในสกุลเงินที่เฉพาะเจาะจงสำหรับการแจ้งเตือนเกี่ยวกับการอนุญาต การบันทึก การโต้แย้ง และการคืนเงิน

อ็อบเจ็กต์จำนวน

คุณสมบัติประเภทคำอธิบาย

currency

สตริง

รหัสสกุลเงินแบบ 3 ตัวอักษรตามมาตรฐาน ISO 4217 สำหรับจำนวนเงินนั้นๆ โปรดดูรายการรหัสสกุลเงินที่ ISO 4217 ในปัจจุบัน ระบบรองรับเฉพาะ USD เท่านั้นสำหรับ currency

value

จำนวนเต็ม

ค่าจำนวนเงิน โดยระบุเป็นหน่วยที่เล็กที่สุดของ currency ตัวอย่างเช่น หาก currency เป็น USD ให้ระบุ value จำนวน $19.99 ในหน่วยเซ็นต์เป็น 1999

อ็อบเจ็กต์ข้อผิดพลาดในการแจ้งเตือน

หากเกิดข้อผิดพลาดขึ้นเมื่อคุณประมวลผลการอนุญาต การบันทึก การชำระเงิน หรือการคืนเงิน ให้เพิ่มอ็อบเจ็กต์ error ใน resource เพื่อให้ข้อมูลเกี่ยวกับข้อผิดพลาด

อ็อบเจ็กต์ข้อผิดพลาด

คุณสมบัติประเภทคำอธิบาย

code

สตริง

รหัสข้อผิดพลาดสำหรับ Meta ค่าที่ถูกต้องจะขึ้นอยู่กับประเภทการแจ้งเตือนและมีการอธิบายไว้ในส่วนก่อนหน้านี้

partner_code

สตริง

รหัสของคุณสำหรับข้อผิดพลาด

partner_error

สตริง

คำอธิบายข้อผิดพลาดของคุณ