ภาพรวม
ระบบจะส่งการแจ้งเตือนการจัดการวงจรโทเค็น (LCM) ในอนาคตจาก Google Pay Online API ไปยัง tokenUpdateUrl
ที่ระบุไว้ในเวลาที่ทำธุรกรรมเดิม ระบบจะส่งอีเมลนี้หากมีการปิดใช้งานหรือลบโทเค็น นอกจากนี้ ระบบยังส่งข้อความอย่างเต็มความสามารถ
พร้อมลองส่งอีกครั้งหากส่งไม่สำเร็จ ตัวอย่างขั้นตอน LCM เมื่อผู้ใช้นำบัตรออกจาก Google Wallet มีดังนี้
MerchantTokenUpdateNotificationRequest
ข้อความ HTTP POST จาก Google Pay Online API มีเนื้อหา JSON ที่ห่อหุ้มเพย์โหลดที่เข้ารหัส
ระบบจะเข้ารหัสเพย์โหลดด้วยคีย์การเข้ารหัสสาธารณะที่ใช้ร่วมกัน และลงนามด้วยคีย์ส่วนตัวของ Google
คุณสามารถถอดรหัสด้วยคีย์การเข้ารหัสส่วนตัว และยืนยันด้วยคีย์การลงนามรูทของ Google
รูปแบบ Wrapper เพย์โหลดที่เข้ารหัสนี้จะเหมือนกับสิ่งที่คุณอาจได้รับเป็น
PaymentMethodToken คุณสามารถใช้ไลบรารีเดียวกันเพื่อถอดรหัสการแจ้งเตือน LCM นี้ได้
ภายในเพย์โหลดที่เข้ารหัสจะมีออบเจ็กต์ MerchantTokenUpdateNotificationRequest
ตามที่ระบุไว้ที่นี่
| พร็อพเพอร์ตี้ | ประเภท | ความจำเป็น | คำอธิบาย |
|---|---|---|---|
messageId |
สตริง | ต้องระบุ | รหัสที่ไม่ซ้ำกันของการแจ้งเตือนนี้เพื่อขจัดข้อความที่ซ้ำกันและเพื่อวัตถุประสงค์ในการแก้ไขข้อบกพร่อง หากส่งการแจ้งเตือนนี้ไม่สำเร็จ การแจ้งเตือนจะยังคงเหมือนเดิมสำหรับการลองอีกครั้งในอนาคต |
targetNotificationUrl |
สตริง | ต้องระบุ | URL ที่ต้องการสำหรับการแจ้งเตือนนี้ คุณต้องยืนยันว่า URL นี้เป็นปลายทางที่ต้องการ เพื่อรับการแจ้งเตือน LCM ของโทเค็นจาก Google Pay |
timestamp |
สตริง | ต้องระบุ | การประทับเวลาที่สร้างการแจ้งเตือนนี้เป็นครั้งแรก และจะยังคงเหมือนเดิมสำหรับการลองใหม่ในอนาคต หากคุณได้รับการแจ้งเตือนหลายรายการสำหรับรหัสโทเค็นเดียวกัน ระบบจะพิจารณาเฉพาะการแจ้งเตือนที่มี การประทับเวลาล่าสุดว่าถูกต้อง |
apiVersion |
int | ต้องระบุ | เวอร์ชันหลักของ API |
apiVersionMinor |
int | ต้องระบุ | เวอร์ชันย่อยของ API |
merchantTokenId |
สตริง | ต้องระบุ | รหัสโทเค็นผู้ขายพร้อมการอัปเดต นี่คือรหัสที่แสดงเมื่อผู้ใช้
ทำขั้นตอน Google Pay สำหรับ MIT เสร็จสมบูรณ์ นี่คือฟิลด์ภายในเพย์โหลดที่เข้ารหัส
ซึ่งส่งใน
ออบเจ็กต์ Card
|
cardUpdateInfo |
CardUpdateInfo | ต้องระบุ | มีการอัปเดตสำหรับโทเค็น |
CardUpdateInfo
| พร็อพเพอร์ตี้ | ประเภท | ความจำเป็น | คำอธิบาย |
|---|---|---|---|
fpanSuffix |
สตริง | มีเงื่อนไข | คำอธิบายที่จะช่วยให้ผู้ใช้ระบุหมายเลขบัญชีหลักสำหรับการชำระเงิน (FPAN) ที่เกี่ยวข้องได้ ซึ่งเป็นสตริง 4 หลักที่มีอักขระ 4 ตัวสุดท้ายของ FPAN เมื่อมีอยู่ ระบบจะถือว่าสถานะโทเค็นทำงานอยู่ โดยจะไม่มีการแสดงหากไม่มีการเปลี่ยนแปลง |
tokenState |
string(enum) | มีเงื่อนไข | สถานะใหม่ของโทเค็น หากมีการเปลี่ยนแปลงตั้งแต่ธุรกรรมครั้งแรกหรือการแจ้งเตือนครั้งก่อน โดยจะไม่มีการแสดงหากไม่มีการเปลี่ยนแปลง ค่าที่ถูกต้องคือ |
MerchantTokenUpdateNotificationResponse
รหัสการตอบกลับ HTTP
| โค้ดตอบกลับ HTTP | การใช้งาน |
|---|---|
| 200 | คุณได้รับการแจ้งเตือนเรียบร้อยแล้ว คุณระบุข้อมูลสถานะเพิ่มเติมได้ ในเนื้อหาการตอบกลับเป็นออบเจ็กต์ JSON ตามที่อธิบายไว้ในตารางถัดไป |
| 401 | targetNotificationUrl ใน MerchantTokenUpdateNotificationRequest
ไม่ถูกต้อง คุณปิดใช้การแจ้งเตือนทั้งหมดในอนาคตสำหรับโทเค็นนี้ได้ |
| 5xx | ข้อผิดพลาดเกี่ยวกับเซิร์ฟเวอร์ชั่วคราว โปรดส่งการแจ้งเตือนอีกครั้งในภายหลัง |
| อื่นๆ | ข้อผิดพลาดที่ลองอีกครั้งไม่ได้ ระบบจะไม่ส่งการแจ้งเตือนอีกในภายหลัง |
| พร็อพเพอร์ตี้ | ประเภท | ความจำเป็น | คำอธิบาย |
|---|---|---|---|
requestMessageId |
สตริง | ต้องระบุ | รหัสข้อความที่สร้างจากคำขอ โดยต้องตรงกับรหัสข้อความจากคำขอ ไม่เช่นนั้นระบบจะเพิกเฉยต่อการตอบกลับและหยุดการแจ้งเตือนในอนาคตสำหรับโทเค็นนี้ |
status |
string(enum) | ต้องระบุ | ผู้ขายหรือผู้ให้บริการชำระเงิน (PSP) สามารถแสดงสถานะที่แสดงถึงการ ส่งการแจ้งเตือนและการใช้โทเค็น ค่าที่ใช้ได้มีดังนี้
|
ตัวอย่าง
การแจ้งเตือนวงจร
คำขอรับการแจ้งเตือน
นี่คือคำขอ HTTP POST ที่มีโทเค็นการแจ้งเตือน LCM ซึ่งส่งจาก Google Pay ไปยัง ปลายทางของคุณ เนื้อหาคือเพย์โหลดที่เข้ารหัส
คำขอ HTTP
HTTP POST /token/notification/123 Host: api.merchant.com Content-Type: application/json { "protocolVersion":"ECv2", "signature":"MEQCIH6Q4OwQ0jAceFEkGF0JID6sJNXxOEi4r+mA7biRxqBQAiAondqoUpU/bdsrAOpZIsrHQS9nwiiNwOrr24RyPeHA0Q\u003d\u003d", "intermediateSigningKey":{ "signedKey": "{\"keyExpiration\":\"1542323393147\",\"keyValue\":\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE/1+3HBVSbdv+j7NaArdgMyoSAM43yRydzqdg1TxodSzA96Dj4Mc1EiKroxxunavVIvdxGnJeFViTzFvzFRxyCw\\u003d\\u003d\"}", "signatures": ["MEYCIQCO2EIi48s8VTH+ilMEpoXLFfkxAwHjfPSCVED/QDSHmQIhALLJmrUlNAY8hDQRV/y1iKZGsWpeNmIP+z+tCQHQxP0v"] }, "signedMessage":"{\"tag\":\"jpGz1F1Bcoi/fCNxI9n7Qrsw7i7KHrGtTf3NrRclt+U\\u003d\",\"ephemeralPublicKey\":\"BJatyFvFPPD21l8/uLP46Ta1hsKHndf8Z+tAgk+DEPQgYTkhHy19cF3h/bXs0tWTmZtnNm+vlVrKbRU9K8+7cZs\\u003d\",\"encryptedMessage\":\"mKOoXwi8OavZ\"}" }
Decrypted MerchantTokenUpdateNotificationRequest
{ // MerchantTokenUpdateNotificationRequest "messageId": "ZlxoWhLC3su", "targetNotificationUrl": "https://api.merchant.com/token/notification/123", "timestamp": "2025-03-28T07:53:12.39Z", "apiVersion": 1, "apiVersionMinor": 0, "merchantTokenId": "123", "cardUpdateInfo": { "tokenState": "DISABLED" } }
การตอบสนองต่อการแจ้งเตือน
HTTP 200 OK Content-Type: application/json { // MerchantTokenUpdateNotificationResponse "requestMessageId": "ZlxoWhLC3su", "status": "SUCCESS", }
ทดสอบด้วยปลายทาง tokenUpdateUrl
ในโหมดทดสอบ Google Pay จะส่งการแจ้งเตือน LCM ของโทเค็นไปยัง tokenUpdateUrl
หากต้องการทริกเกอร์การดำเนินการนี้ ให้ทำตามขั้นตอนต่อไปนี้
- ทำธุรกรรมทดสอบให้เสร็จสมบูรณ์โดยเรียกใช้
loadPaymentDataด้วยออบเจ็กต์*TransactionInfoแล้วป้อนข้อมูลลงในฟิลด์tokenUpdateUrlด้วย URL ของปลายทาง - บริการของ Google จะส่งการแจ้งเตือน LCM ของโทเค็นไปยังปลายทางของคุณ
- ยืนยันว่าคุณถอดรหัสการแจ้งเตือนได้โดยใช้คีย์ส่วนตัว โปรดทราบว่าในโหมดทดสอบ การแจ้งเตือนนี้จะเปลี่ยนตัวเลข 4 หลักสุดท้ายของหมายเลขบัตรเครดิตเป็น "1234" และมี
"tokenState": "DISABLED"เสมอ ไม่ว่าโทเค็นในคำขอจะเป็นอะไรก็ตาม