Kuidas see töötab
Seadista HTTPS-teavituse URL, et sinu rakendus saaks toimingu olulised muudatused. Webhook peab toitma vastava tellimuse, maksenõude või protsessi sisemist olekut.
Soovitatav voog
Tehing või oluline sündmus liigub töötluses edasi.
Rakendus võtab payloadi vastu seadistatud HTTPS-lõpp-punktis.
Salvesta identifikaatorid ja piisav sisu jälgitavuse jaoks.
Tellimus, ERP, OMS, rahandus ja automatiseerimised järgivad uut olekut.
Teavituse struktuur
Tehingusündmused sisaldavad tehingu identifikaatorit, sündmuse tüüpi, staatust, toimingu viidet, sellerit ja teavituse allkirja.
{
"id": "8774b47d26d54a0b9138cde9d8cc421f",
"type": "transaction.succeeded",
"status": "succeeded",
"reference_id": "order_102938",
"io_seller_id": "<IO_SELLER_ID>",
"sign_confirm": "iopay::<SIGNATURE>"
}transaction.created, transaction.pending, transaction.succeeded, transaction.failed, transaction.disputed ja transaction.void.succeeded.Rakendamine
Route::post('/webhooks/iopay', function (Request $request) {
$payload = $request->all();
// Identificador da transação
$transactionId = $payload['id'] ?? null;
// Ex.: transaction.succeeded
$eventType = $payload['type'] ?? null;
// Ex.: succeeded
$status = $payload['status'] ?? null;
// Referência enviada na criação da transação
$referenceId = $payload['reference_id'] ?? null;
// 1. valide sign_confirm conforme o contrato vigente
// 2. garanta idempotência antes de aplicar efeitos
// 3. persista o evento para rastreabilidade
// 4. processe operações pesadas de forma assíncrona
ProcessIopayWebhook::dispatch($payload);
return response()->json(['received' => true], 200);
});sign_confirm-i kontroll peab järgima integratsiooni kehtivat lepingut, enne kui sündmust usaldusväärseks peetakse.Idempotentsus ja töökindlus
Ära töötle kaks korda.
Webhooke võidakse uuesti saata. Veendu, et sama sündmus ei tekitaks sinu rakenduses topeltmõjusid.
Kiire kinnitus.
Väldi pikki toiminguid enne HTTP 200 tagastamist webhookile.
Kontrolli praegust olekut.
Ära tugine ainult saabumise järjekorrale; võrdle sündmust teadaoleva olekuga.
Säilita ajalugu.
Registreeri vastuvõtt, töötlemine, vead ja seos tellimuse/tehinguga.
Checklist
- HTTPS URL seadistatud ja väljastpoolt kättesaadav.
- Lühike ajalõpp ja raske töötlus järjekorras.
sign_confirm-i kontroll.- Idempotentsus topeltmõjude vältimiseks.
- Logid koos
id,type,reference_idjaio_seller_idväljadega. - Hoiatused korduvate töötlusvigade kohta.
- Kooskõlastusrutiin API-päringutega erandjuhtudeks.

