Maksut
Tilat, tilakyselyt ja täsmäytys
Tarkista tilanne taustajärjestelmästäsi, kunnes saat pankin päätöksen. callback, SCA palautus tai widgetin sulkeminen ei ole taloudellinen vahvistus.
Kysely taustajärjestelmästä
: "${WR_API_KEY:?Defina WR_API_KEY en el entorno seguro de su backend}"
curl --request POST 'https://api.wealthreader.com/payments/?action=status' \
--header 'Content-Type: application/json' \
--header "X-API-Key: ${WR_API_KEY}" \
--data '{
"payment_intent_id": "11111111-1111-4111-8111-111111111111",
"refresh": true
}'
refresh on vapaaehtoinen ja true oletuksena. Wealth Reader rajoittaa ulkoisia kyselyjä aikomuksen perusteella; käytä myös backoffia taustalla äläkä luo uutta aikomusta, kunhan tulos on epäselvä.
Kolme eri ulottuvuutta
| Kenttä | Ydinarvot | Mitä vastaat |
|---|---|---|
state |
ready, authorization_required, processing, reconciliation_required, päätteet |
Kestävä virtaustila. |
interaction_status |
not_started, authorization_required, processing, completed, finished |
Päättyikö tekninen vuorovaikutus vai jatkuiko. |
payment_status |
not_initiated, pending, unknown, settled, rejected, cancelled, expired, failed |
Normaali taloudellinen tulos. |
Ainoa myönteinen vahvistus on payment_status: settled, joka perustuu pankin nimenomaiseen maksun lopullisen toteutumisen vahvistavaan tilaan. Tekninen tulos DONE, interaction_status: completed tai payment_status: pending ei koskaan tarkoita maksun lopullista toteutumista.
Epäselvä tulos
Tunnistamaton verkon katkaisu, aikakatkaisu tai vastaus käynnistyksen jälkeen muuttaa aikomuksen reconciliation_required ja paljastaa payment_status: unknown. Käynnistys ei toistu automaattisesti.
Nykyinen palveluntarjoaja ei tarjoa kyselyä, joka rekonstruoisi aloituksen, jonka vastaus menetettiin: sen tilakysely vaatii saman aloituksen kautta palautuvan läpinäkymättömän kontekstin. Siksi kyseinen tapaus tarvitsee manuaalisen sovituksen; sitä ei voi hakea automaattisen tilan säännöllisellä kyselyllä tai callback-ID:n etsimällä.
Siinä tapauksessa:
- säilytä tunniste ja idempotenssiavain;
- älä luo uutta maksuaikomusta äläkä valtuuta maksua uudelleen;
- tarkista maksun tila todennetulla Wealth Reader -kutsulla ja säilytä turvallinen täsmäytysviite;
- ota yhteyttä tekniseen tukeen; älä jatka tilan tarkistamista, kun
automatic_recoveryonfalse.
Jos tarkoitus vaatii manuaalista täsmäytystä, palvelin-palvelin-kysely voi sisältää:
{
"payment_status": "unknown",
"reconciliation_required": true,
"reconciliation": {
"automatic_recovery": false,
"reference": "wrp_recon_0123456789abcdef0123",
"request_id": "11111111-1111-4111-8111-111111111111",
"correlation_id": "22222222-2222-4222-8222-222222222222",
"reason": "initiation_rejected"
}
}
Nämä tunnisteet ovat tukikäyttöön tarkoitettuja viitteitä, joista arkaluontoiset tiedot on poistettu. Niitä ei toimiteta widgetille, eivätkä ne anna asiakkaan kysyä tai rekonstruoida palveluntarjoajan sisäistä tilaa.
reason on Wealth Readerkoodi, ei koskaan toimittajan teksti. initiation_rejected tarkoittaa, että toimittaja vastasi aloitteen lopullisella hylkäyksellä; initiation_response_unavailable, ettei tunnistettavaa vastausta ollut. Molemmissa tapauksissa aloitus on jo lähetetty, joten sitä ei toisteta: säilytä viite ja ota yhteyttä tekniseen tukeen.
Takaisinsoitto ja uusinta
SCA-paluu ohjautuu vain maksuja varten varattuun callback-päätepisteeseen. Wealth Reader tarkistaa kohdistuksen, välittää pankin parametrit palveluntarjoajalle muuttamattomina (odottamattomat parametrinimet kirjataan, mutta jo valtuutettua paluuta ei hylätä niiden vuoksi), käsittelee paluun vain kerran ja säilyttää arkaluontoisen tilan salattuna. Toistettu kutsu palauttaa vain HTTP 409; älä luota vastauksen rungossa olevaan sisäiseen virhekoodiin.
Todennus voi vaatia useita uudelleenohjauksia. Jokainen validoitu REDIRECT jatkuu samassa SCA -ikkunassa ja avaa uuden callback-tarkistuspisteen; se ei luo uutta aloitusta. Tulos DECOUPLED pitää aikomuksen processing , jotta widget voi kysyä tilaa. Eksplisiittinen RETRY toistaa vain valmiin suorituksen, rajoitetusti odotus- ja yritysmäärällä. ERROR, PASSWORD, MORE_INFO, SELECT_OPTION, tuntematon tulos tai rajoitusten loppuminen päättyy sovitukseen, ei koskaan uuteen aloitukseen.
Kauppiaan ei tarvitse julkaista tai käsitellä tätä callback-päätepistettä. Tämä versio ei lähetä webhookeja kauppiaalle: maksun vahvistaminen perustuu palvelimelta palvelimelle tehtäviin tilakyselyihin.
Widgetin sulkeminen
flow_closed viestii, että näkyvä vuorovaikutus päättyi. Frontend voi sulkea modaalin, mutta sen ei saa näyttää "maksettua" kyseisestä tapahtumasta. Taustajärjestelmä vastaa edelleen maksun vahvistamisesta tai täsmäytyksestä.
Seuraava askel
Täydennä lista Turvallisuus ja testaus.