> 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/pembayaran/pemberitahuan-panggilan-balik.md).

# Pemberitahuan panggilan balik

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

Selepas pembayaran selesai, sistem akan menghantar hasil pembayaran dan maklumat yang berkaitan kepada pedagang, dan pedagang perlu menerima dan mengembalikan respons. Apabila berinteraksi dengan pemberitahuan latar belakang, jika sistem menerima respons pedagang yang tidak berjaya atau tamat masa, sistem 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 pedagang. Dan pedagang mesti boleh mengendalikan pemberitahuan pendua dengan betul. Amalan yang disyorkan adalah seperti berikut, Apabila memproses pemberitahuan, pertama sekali memeriksa status pembayaran 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)

Pedagang mesti melakukan pengesahan tandatangan ke atas kandungan panggilan balik pembayaran dan menyemak sama ada jumlah bayaran yang dikembalikan adalah betul, untuk mengelakkan kebocoran data dan kemunculan "pemberitahuan palsu", yang mengakibatkan kehilangan dana.
{% endhint %}

### **POST**

{% code fullWidth="false" %}

```
Parameter notify_url yang diserahkan oleh 'Buat Pembayaran' (Create Payout). Jika pautan tidak boleh diakses, 
pedagang anda tidak boleh menerima pemberitahuan daripada sistem.
```

{% endcode %}

#### 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 PAYPAYOUT.SUCCESS.                                                                                                                                                           |            |
| resource         | object | Data sumber pemberitahuan                                                                                                                                                                                                                       |            |
| » original\_type | string | Jenis panggilan balik asal ialah payout                                                                                                                                                                                                         |            |
| » 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 [PayoutTransactionDetail](/ms-my/penerangan/struktur-data.md#butiran-pembayaran). |            |
| » 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": "PAYPAYOUT.SUCCESS",
	"resource": {
		"original_type": "payout",
		"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.
