> For the complete documentation index, see [llms.txt](https://apidoc.tokenpay.me/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://apidoc.tokenpay.me/ms-my/pesanan/pemberitahuan-panggilan-balik.md).

# Pemberitahuan panggilan balik

{% hint style="info" %}
PETUA (TIP)

Selepas pembayaran selesai, pusat pembayaran akan menghantar keputusan pembayaran yang berkaitan dan maklumat yang berkaitan kepada pedagang, dan pedagang perlu menerima pemprosesan dan mengembalikan respons. Apabila berinteraksi dengan pemberitahuan latar belakang, jika pusat pembayaran menerima respons pedagang yang tidak berjaya atau tamat masa, pusat pembayaran menganggap pemberitahuan itu telah gagal. Pemberitahuan akan dimulakan semula secara berkala mengikut dasar tertentu untuk memaksimumkan kadar kejayaan pemberitahuan, tetapi tiada jaminan bahawa pemberitahuan itu akan berjaya. (Kekerapan pemberitahuan ialah 0s/15s/30s/3m/10m/20m/30m/60m/3h/6h)
{% endhint %}

{% hint style="warning" %}
AMARAN (WARNING)

Nota: Pemberitahuan yang sama mungkin dihantar beberapa kali kepada sistem pedagang. Dan sistem pedagang mesti boleh mengendalikan pemberitahuan yang sama dengan betul. Amalan yang disyorkan adalah seperti berikut. Apabila memproses pemberitahuan, pertama sekali memeriksa status data perniagaan yang sepadan untuk menentukan sama ada pemberitahuan telah diproses. Jika tidak, proses semula. Jika ya, arahkan kembali hasil kejayaan. Sebelum pemeriksaan keadaan dan pemprosesan data perniagaan, kawalan serentak dilakukan menggunakan kunci data untuk mengelakkan kekacauan data yang disebabkan oleh kemasukan semula fungsi.
{% endhint %}

{% hint style="danger" %}
BAHAYA (DANGER)

Perhatian: Sistem pedagang mesti melakukan pengesahan tandatangan untuk kandungan panggilan balik pesanan, dan mengesahkan sama ada jumlah pesanan yang dikembalikan konsisten dengan jumlah pesanan. Sebab melakukan perkara ini untuk mengelakkan kebocoran data yang mengakibatkan "notis palsu" yang mengakibatkan kehilangan dana.
{% endhint %}

#### Alamat antara muka (Interface address)

```
Parameter notify_url yang diserahkan oleh antara muka pesanan bersatu POST ditetapkan. Jika anda tidak dapat mengakses pautan, sistem perkhidmatan anda tidak boleh menerima pemberitahuan daripada pusat pembayaran.
```

#### Request Body

| Nama             | Jenis  | Penerangan                                                                                                                                                                                                                                 | Penerangan |
| ---------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------- |
| app\_id          | string | Aplikasi                                                                                                                                                                                                                                   |            |
| mch\_id          | string | Pedagang                                                                                                                                                                                                                                   |            |
| create\_time     | time   | Masa pemberitahuan                                                                                                                                                                                                                         |            |
| resource\_type   | string | Jenis data sumber pemberitahuan. Pemberitahuan kejayaan pembayaran ialah encrypt-resource                                                                                                                                                  |            |
| event\_type      | string | Jenis pemberitahuan. Jenis pemberitahuan kejayaan pembayaran ialah SUCCESS.                                                                                                                                                                |            |
| resource         | object | Data sumber pemberitahuan                                                                                                                                                                                                                  |            |
| » original\_type | string | Jenis panggilan balik asal ialah transaction                                                                                                                                                                                               |            |
| » algorithm      | string | Pada masa ini, hanya AES-256-ECB disokong untuk algoritma penyulitan yang menyulitkan data hasil                                                                                                                                           |            |
| » ciphertext     | string | Teks sifer data hasil hidup/mati yang dikodkan Base64. Jika didayakan, kandungan yang disulitkan dikembalikan. Selepas penyahsulitan, ia adalah rentetan json [TransactionNotifyDetail](/ms-my/penerangan/struktur-data.md#butiran-notis). |            |
| » nonce          | string | Sulitkan menggunakan rentetan rawak                                                                                                                                                                                                        |            |

#### Contoh permintaan (Request example)

```json
{
	"app_id": "xxxxx",
	"mch_id": "zzzzzz",
	"create_time": "2023-06-26T17:21:17.754429+08:00",
	"resource_type": "encrypt-resource",
	"event_type": "TRANSACTION.SUCCESS",
	"resource": {
		"original_type": "transaction",
		"algorithm": "AEAD_AES_256_GCM",
		"ciphertext": "I/psKgdkVwxbkEIWtwRxfxLzViuRS+gJTQSdLf+lmK7awoqUcIJisTAJx0Qbv4K6wV8WgyMRFYHD5CCLKmFNU2OnmEm2f2vGhaoS2h28A9BEGx1CWEUw3tfldf/+VWlBAnIBylFjHzbSo7fgn7S3fFEAZHTxoy+9jNIoynqHZbn4Y6eucj1YCw0ZmuKHPpPPrvclbhHmaZHfau+SKyag3C0/cj7zu4mBkRZ39zuk9B7DAADzaRENOZ/ZyibU+zs3gibnCbI2NWEnQWIiCi7vK0jq/FCBWytHihQM364zlVrPPCBDbv2MSqk4fyAM7IDeT6h/z/2kmDOQ6aFPYlLojIkgCCOIevQITS9E+BS1rgmmH+DRKsJNiD257aLhX2/F53VEnjfqqKdDs2lqfX0dCMLqselGUT981fFKceXg+r6hQqcUzLlF28XL5NrfVPreRDo6jI2K0tCy9cOx+cxH3yoDzOFBzM0RlxWqvUhRsMv9ZGfpgCZ0o9HxNObqLjVCQzE5SWPXvmkw+QpWk0oNUvpCEDhj9Vfq6XCV8j3tT3tZTYCa5UQy9VCdmval/2vb50QaAgDYXU6PH/9Xv7AXg6kg29iK+Ec0euxZxosRoVczzRg+0Arl/zvBcphWNIUTdx5IcA12WtP+krk9NNGtj7igk21DhcseJrKBpG7ll9O/Wmq1L8BwW+ypuJS+kHV61jRNYMFJY48Pt11Zoukgqu94kzrhz+KET8q463zlyu/Kp2z5yWI8xwvOtuyjosszfm6/YFQTFdhcmHY3X1yz44NaVG9FPev1QPoPmI7K3Jqa0Q8Q5kQTbe/KrB0eyRpXtyAaShOEeiS2ypmFAC81/m4mjuTd24yAjBcTIfBYzjxwjPbKfv+OYKahDwJP1b7EhsM+Sgu48wQ+pp6wc8TYCOkiRR1pKeb3kaxpQGzlq7VNbWHFPw9TDiyCIEnr8T5eiJtzJJ0U0iIfqN5WHk7iHiNK4Y4TvmdF4f6UyeMTHvaprvzUZI8il5wvoCgIiRUY7qvv5V/KL4ZWHN6Y3EEvQmP4WDo3Wx5IFW8C1gkyFv8lQ1COSNYMPog6RLAI0rNvKZjvc4baWwcHmk/fM92X19F2Y0DArqLFFUTJVE5bUQXQexiUO1e8IL07wqY=",
		"nonce": "d8816e8d6dca4409b790a4bcaa25c621"
	}
}
```

#### Contoh pulangan (Return example)

```
success
```

Sila kembalikan `success` untuk memberitahu pelayan pemberitahuan selepas berjaya menerima permintaan panggilan balik. Selepas pelayan pemberitahuan menerima `success`, pemberitahuan berhenti. Jika tidak, pemberitahuan akan dihantar 10 kali pada kekerapan 0s/15s/30s/3m/10m/20m/30m/60m/3h/6h.
