Ennen kuin aloitat
Tarvitset valmiin maksun vastaanotto -kyvyn ja valmiin luodun kohdelompakon samalle asiakkaalle. Suorita mahdollinen avoin työ Kyvyt ja tehtävät -kautta, hae sitten molemmat resurssit uudelleen. Yhdistetty SWIFT ei tue maksujen vastaanottoa. Jos haluat vastaanottaa SWIFT-talletuksia, luo nimetty SWIFT-tili. Katso Luo pankkitili.1. Luo tarjous
Luo hintaPOST /v3/quotes -toiminnolla. Lähetä nämä otsakkeet:
Request headers
Request body
data.id muuttujaan QUOTE_ID. Esitä palautetut summat ja maksut sen sijaan, että rakentaisit ne uudelleen kurssista.
Vähimmäissummat
Pankkimaksun vastaanoton tarjouksissa voidaan edellyttää vähimmäissummaa, esimerkiksi 20.00 USD yhdistetylle Wire-siirrolle.POST /v3/quotes palauttaa 422 amount_not_deliverable, kun summa on alle vähimmäismäärän tai liian pieni kattamaan siirtomaksut.
2. Suorita tarjous
Suorita nykyinen tarjous ennen sen erääntymistäPOST /v3/transfers -toiminnolla. Käytä uutta avainta tälle aiotulle siirrolle:
Request headers
Request body
data.id muuttujaan TRANSFER_ID ja säilytä sen nykyinen tila.
Lisää paluu-URL kortti- ja Apple Pay -maksuille
Kortti- tai Apple Pay -tarjoukselle voit sisällyttää samaan pyyntöön valinnaisenredirectUrl-arvon. Kun asiakas on suorittanut isännöidyn kassan loppuun, kassasivu avaa tämän URL:n tuodakseen asiakkaan takaisin sovellukseesi.
Request body with redirectUrl
redirectUrl-arvon on oltava absoluuttinen HTTPS-URL, enintään 2048 merkkiä pitkä, eikä se saa sisältää upotettuja tunnistetietoja. redirectUrl-arvon lähettäminen tarjoukselle, joka ei tue paluunavigointia, epäonnistuu validoinnissa sen sijaan, että se ohitettaisiin.
Saapuminen redirectUrl-osoitteeseen on vain selaimen navigointia. Se ei vahvista, että maksu tai siirto valmistui. Määritä valmistuminen siirron tilasta vaiheessa 4 ja webhook-tapahtumista.
Esivalitse kassan maksutapa korttitarjoukselle
Korttitarjoukselle voit sisällyttää samaan pyyntöön valinnaisencheckoutMethod-arvon, jolla valitset, mihin rahoitusvaihtoehtoon isännöity kassa avautuu. Nykyiset arvot ovat card, apple_pay, google_pay, cash_app, sepa ja blik. Luettelo on avoin ja voi kasvaa, joten siedä siirron lukupyynnöissä arvoja, joita et tunnista. Kassa avautuu pyydettyyn maksutapaan, kun se on asiakkaan ja hänen laitteensa käytettävissä, ja asiakas voi silti valita minkä tahansa muun kassan tarjoaman maksutavan. Jätä arvo pois, jos haluat säilyttää oletusesivalinnan.
Request body with checkoutMethod
checkoutMethod on suositus, ei takuu. Saatavuus riippuu asiakkaasta, hänen laitteestaan ja kassasta, joten maksutavan pyytäminen ei tee siitä saatavilla olevaa. Tässä sepa ja blik ovat korttikassan sisäisiä rahoitusvaihtoehtoja, eivät Swipeluxin ominaisuuksia, maksureittejä tai tilejä. Esivalinta ei muuta tarjouksen ominaisuutta, summia tai maksuja, ja kassa vahvistaa lopulliset maksut. Siirron lukupyynnöt palauttavat pyydetyn arvon; ne eivät vahvista, mitä maksutapaa asiakas käytti. checkoutMethod-arvon lähettäminen tarjoukselle, joka ei ole korttitarjous, epäonnistuu validoinnissa sen sijaan, että se ohitettaisiin, ja samalla idempotenssiavaimella tehdyn toiston on lähetettävä sama checkoutMethod.
3. Hae rahoitusohjeet
LueGET /v3/transfers/{transferId}/instructions. Renderöi palautettu data.instructions-muunnelma ilman, että oletat sen tyyppiä.
Nämä tiedot ovat siirtokohtaisia. Älä koskaan käytä yhden siirron pankkikoordinaatteja, koodia, isännöityä URL:iä, summaa, viitettä tai erääntymisaikaa toiseen maksun vastaanottoon.
Pankkiohjeiden osalta, kun reference.required on true, näytä tarkka reference.value pankkikoordinaattien vieressä ja tee siitä kopioitava. Näytä palautettu summa ja valuutta samasta ohjejoukosta.
Pankkiohjeet voivat sisältää myös valinnaiset kentät bankName, bankAddress, accountHolderName ja accountHolderAddress. Näytä jokainen palautettu kenttä muiden pankkikoordinaattien vieressä. Lähettävät pankit vaativat usein vastaanottavan pankin osoitteen swift- ja muissa kansainvälisissä tilisiirroissa, joten näytä bankAddress aina, kun se palautetaan.
Bank instructions
4. Seuraa selvitystä
LueGET /v3/transfers/{transferId} suorituksen jälkeen ja jokaisen tapahtuman jälkeen. Aja asiakkaalle näkyvä tila uusimmasta data.state-arvosta.
Käytä data.stateDetail- ja data.openTaskIds-arvoja, kun siirto tarvitsee lisätoimia. Älä merkitse sitä valmiiksi odotetusta aikataulusta.
Seuraavaksi lisää webhookit ja pidä siirron tila synkronoituna, kunnes se saavuttaa tuloksen, jonka tuotteesi käsittelee.