Az első lépések a api paypal
A PayPal a legnépszerűbb fizetési rendszer az interneten. A legfontosabb tényező, hogy miért ez a rendszer annyira népszerű a könnyű számlanyitás és fogadni / küldeni kifizetéseket. Szintén fontos szempont, akkor jelölje ki a jelenlétét az API, amely lehetővé teszi, hogy bele egy fizetési rendszer a projekteket. A mi mai cikk, annak érdekében, hogy megszüntesse nehézségek az integráció, azt fogja mondani, néhány a módszereket és megközelítéseket dolgoznak az API a PayPal.
Különböző fizetési lehetőségek
PayPal több lehetőséget nyújt a fizetés, amely első pillantásra megzavarhatja:
1. Express kifizetések (Express Checkout)
2. A közvetlen kifizetéseket (Direct Payment)
3. Ismétlődő kifizetések (ismétlődő fizetést)
Ez a módszer lehetővé teszi, hogy a rendszer konfigurálásához időszakos kifizetések (például fizetési előfizetések).
4. Mass kifizetések (Mass kifizetések)
5. Adaptív kifizetések (Adaptive kifizetések)
Tovább API küldeni alapok több címzettnek, de bizonyos különbségek az API-tól tömeges kifizetések (mert tudatosan nem figyelmeztetett, hogy zavaró lehet ...).
Ez a lista nem túl bonyolult, és ez magában foglalja a főbb fizetési módok (lásd az API dokumentációjában talál).
Készítsen lekérdezést, hogy az API
PayPal támogatja a két alap HTTP formátum: NVP és szappannal. NVP - rövidítése név-érték pár (Couple "név-érték"), és SOAP - jelentése Simple Object Access Protocol (egyszerű Access Protocol objektum). Nézzük meg a megközelítés NVP, amit inkább, mert a kínos és összetettsége SOAP.
USER - a felhasználói név az API PayPal.
PWD - be jelszavát API PayPal.
VERSION - NVP szolgáltatás verziószám az API például 74,0 (a legnépszerűbb lehetőség abban az időben az írás).
Last kereslet opciót, MÓDSZER. Bejelenti, amely módszert úgynevezett API-t.
Kéréseket HTTPS protokollon keresztül. Az általunk használt cURL, hogy létrehozzuk a fő lekérdezés, majd felvette a folyamat osztályban:
Felhívjuk figyelmét, hogy az SSL tanúsítvány érvényesítése, használjuk a CA tanúsítványát. Tudod kap a fájlt a honlapon cURL vagy más megbízható forrásból. Frissítse az elérési utat a tanúsítvány fájlban, ahova azt.
A válasz is az NVP formátumban, és mielőtt hazatért, azt formázni egy tömbbe. A paraméter az úgynevezett ACK a kérelmet aláíró állapot (Success (siker) vagy SuccessWithWarning (sikerült, de gyanakvással)), amikor a kérelmet benyújtották, vagy Error (hiba), vagy figyelmeztetés (warning) ha a kérelem nem sikerült.
A kérést nem több okból is, és vannak különböző okok miatt az egyes módszerek API (mindent alaposan foglalkozik a kézikönyvben). Aztán visszatér néhány közülük, és megmondja, hogyan lehet elkerülni az ilyen eredmény. Ne feledje, hogy a paraméter értékek kis- és nagybetűket, és ne felejtsük el, hogy végre őket megfelelően.
Process kifejezett fizetési következő:
1. Az adatok a tranzakció, kérünk bankkártyával PayPal;
2. Ha a tranzakció sikeres volt, átirányítjuk a felhasználót, hogy a végpont PayPal segítségével kapott kártyát;
3. A felhasználó befejezi vagy törli a PayPal fizetési platformot, és irányítják vissza a honlapunkon;
4. Arra a következtetésre jutottunk fizetés vagy miután a felhasználó átirányításra kerül vissza, akár IPN (Instant Payment Notification - Azonnali értesítés kifizetés).
1. kap a fizetési kártya: SetExpressCheckout
Mi elindulna egy folyamat gyors fizetési átadásával érdekében adatokat az API PayPal, és kap egy jegyet, amely azonosítja az adott fizetés. Ez a kártya eléréséhez használt PayPal.
Nézzük meg a szükséges paramétereket:
MÓDSZER - Ez az eljárás API, amit használnak (más szóval, SetExpressCheckout).
RETURNURL - URL, amelyre a felhasználó átirányításra kerül, miután a kifizetést.
CANCELURL - URL, amelyre a felhasználót átirányítja után megszünteti fizetés.
PAYMENTREQUEST_0_AMT - a tranzakciók számával. Itt van két tizedes területen egy tizedespont (.). Elválasztó beadva ezrelék szám legyen (,).
PAYMENTREQUEST_0_ITEMAMT - a tételek összértéke sorrendben, kivéve a szállítási költséget, az adók és egyéb költségek nadbavlennyh. Ha nincsenek extra költségek, ez az érték ugyanaz lesz, mint a PAYMENTREQUEST_0_AMT.
Mi adhat további lehetőségeket, hogy adjunk több információt a sorrendben. Nézzük meg néhány paraméter a szabványos értékek:
PAYMENTREQUEST_0_CURRENCYCODE - a pénznem, amelyben a kifizetés (a hárombetűs méret normál érték: Ft.).
PAYMENTREQUEST_0_SHIPPINGAMT - a teljes szállítási költség a megrendelés.
PAYMENTREQUEST_0_TAXAMT - az adók teljes összegét a sorrendben. Ez a lehetőség akkor fontos, ha az Ön által megadott adóztatás minden megrendelésnél egység (lásd alább).
PAYMENTREQUEST_0_DESC - leírása érdekében.
Azt is, hogy az adatokat az egyes egységek az alábbiak érdekében:
L_PAYMENTREQUEST_0_NAMEm - egység nevét.
L_PAYMENTREQUEST_0_DESCm - egység leírása.
L_PAYMENTREQUEST_0_AMTm - fajlagos költség.
L_PAYMENTREQUEST_0_QTYm - Az egységek száma rendelt.
Változó index «m» rendelés meghatározza az egység (használja ugyanazt a változó az összes azonos alkatrészeket a sorrendben egység).
Sok más választható paramétereket, amelyek megtalálhatók az API dokumentációt.
Mi használja ezt a funkciót, amely a fent említett, hogy hozzon létre SetExpressCheckout kérése:
2. átirányítása a PayPayben megszerzésével kifejezett jegyet fizetési
Ha a kérés sikeres, akkor kap egy kupont fizetés Token paramétert.
Most a felhasználónak, hogy menjen át a fizetési folyamatot az online PayPal. Amikor megerősíti vagy törli a fizetés, akkor azt vissza az egyik URL, amelyet már a kérelemben jelzett.
3. Az ügylet
Tegyük fel, hogy a felhasználó megerősíti az ügylet, akkor nem lesz irányítva a honlapon keresztül PayPal. Ennek alapján van arra, hogy két fontos módszer API:
DoExpressCheckoutPayment lezárni a tranzakciót, de előtte meg kell, hogy további információt a használó ügyfél GetExpressCheckoutDetails.
PayPal átirányítja a felhasználót, hogy a vásárlás oldalt a szelvény, amelynek hatására ezek a módszerek. Kártya lesz elérhető az URL-lekérdezési paraméterek a token paramétert. Mi ellenőrizze annak elérhetőségét az URL, hogy erősítse meg, majd küldje el az API-kérések, ha azt érzékeljük.
GetExpressCheckoutDetails eljárás csak kártyával fizetés.
DoExpressCheckoutPayment igényel további paramétereket:
API közvetlen támogatást (közvetlen kifizetések) lehetővé teszi, hogy kap pénzt közvetlenül a webhely vagy alkalmazás, amely teljes ellenőrzése alatt a fizetési folyamatot. PayPal megpróbálja kikényszeríteni a felhasználók regisztrálni a PayPal, ami érthető, de ez nem egyeztethető össze a mi érdekeinket, amelyek magukban foglalják a legtöbb könnyű és egyszerű fizetési folyamatot a vásárlók számára. Emiatt mi inkább teljes ellenőrzése alatt a fizetési folyamat, ami még több lehetőséget, hogy optimalizálja és az eladások növelése.
Itt a folyamat egy kicsit könnyebb, mint abban az esetben kifejezett kifizetések, mivel minden kommunikációs végzik a weboldal, és meg kell tennie, csak egy API kérés végrehajtása a szokásos eljárás fizetés: DoDirectPayment.
Alapvető paraméterek DirectPayment:
Adatok a műanyag kártya:
CREDITCARDTYPE - típusú műanyag (hitel) kártya (Visa, MasterCard, stb.) A teljes listát a támogatott kártyák, olvassa el a dokumentációt az API-t.
ACCT - hitelkártya számát. Ez a paraméter meg kell egyeznie a pontos formájának az adott szobatípus kártyát.
EXPDATE - kártya lejárati idejű MMYYYY méret (más szóval, két számjegyű hónap, 4 számjegy az év egy sorban).
CVV2 - érték kártya megerősítést. Biztonsági kód.
Keresztnév, vezetéknév - teljes neve a megbízó, illetve (bizonyos területeken). Azt is hozzá e-mail lehetőség, de ez nem olyan fontos.
Város, állam, COUNTRYCODE, ZIP - város, állam és az országkód (két betű), valamint az indexet. Minden mező kitöltése kötelező.
Paraméterei a fizetési adatok hasonlóak a kifejezetten a kifizetések, kivéve néhány kisebb különbségek a nevek (AMT. ITEMAMT. CURRENCYCODE. SHIPPINGAMT. TAXAMT és DESC), valamint a hiányzó PAYMENTREQUEST_0_ előtagot. A részletes információkat lásd a dokumentációban az API, vagy az előző részben a cikk.
hívásátirányítás segítségével a függvény nagyon hasonlít GetExpressCheckoutToken. Végzünk minden paramétert a lekérdezési funkció, mint korábban; módszert kell állítani DoDirectPayment.
Sok lehetőség van, de ezek nagyon egyszerű.
Ha élt egy mese, ez a tétel nem kellett a cikkben. A valóságban, akkor lehet, hogy az ilyen szakaszok szinte minden üzlet. PayPal tranzakció sikertelen különböző okok miatt, és nem minden esetben, akkor képes lesz megbirkózni a helyzettel.
A változó $ választ. megkaptuk a mi paypalApiRequest () függvényt. tartalmazhat érték eltér az értéke „siker” van kiválasztva ACK. Érték lehet:
A siker - jelzi a sikeres működéshez.
SuccessWithWarning - jelzi a művelet sikeres volt, valamint az a tény, hogy az adatok egy részét újra kell ellenőrizni.
Hiba - azt jelzi, hogy a művelet sikertelen volt, és a válasz nem tartalmaz egy vagy több hibaüzenetet.
FailureWithWarning - azt jelzi, hogy a művelet nem sikerült, és üzeneteket is beérkezett, meg kétszer is ellenőrizze.
Ennek eredményeként már két sikeres állapotát, és hiba állapot 2. A fenti kód a tesztek csak a sikeres értéke siker. de meg tudjuk változtatni, és küld egy csekket SuccessWithWarning. És ne feledd, hogy meg kell, hogy megtudja, mi a figyelmeztető üzenetet. A hagyományos forgatókönyv előfordul, hogy a közvetlen kifizetések történtek sikerült, de most egy hitelkártya, hogy bármilyen probléma.
Hibák válaszként kapott PayPal, van 4 fajta:
L_ERRORCODE0 - numerikus hibakódot, amellyel meg tudja határozni a hiba jellege szerint konzultációt hibalista a PayPal (nem annyira).
L_SHORTMESSAGE0 - rövid hibaüzenetet, amely leírja a problémát.
L_LONGMESSAGE0 - részletesebb hibaüzenetet, amely leírja a problémát.
L_SEVERITYCODE0 - kód „súlyos” hibák (nem találtunk semmilyen dokumentációt telepített ebben a tekintetben, úgy tűnt számunkra, hogy ez az elem nem olyan fontos).
0 ezen paraméterek - ez a szám a különböző hiba (1. 2, és így tovább) Hozzászólások
Vessünk egy pillantást a leggyakoribb hibákat, ami lehetséges, és meg kell felelnie:
81 *** - hiányzó paraméter. Nem sok ilyen hibákat, és minden kezdődik 81. Minden egyén felelős a legmelegebb beállítás, amely hiányzik a kérelmet.
104 ** - Érvénytelen argumentum. Ez azt jelzi, hogy az egyik támogatott opciókat jelöli értéke érvénytelen. Minden érv azonban egyetlen hiba; minden hiba kezdődik 104. A leggyakoribb - 10413. Ez azt jelenti, hogy a teljes költség a kosár árut nem felel meg az egységek számát annak érdekében, (más szóval, olyan helyzetben, amikor a teljes költség nem egyezik az egységek száma a következő sorrendben + szállítás, az adók és egyéb pótdíjat ár (teljes összeg paraméter AMT)).
Hogyan kerüljük el az adatátviteli hibák a gyakorlatban?
A legtöbb esetben mi lenne tanácsos tegye a következőket:
1. Állítsa be a fehér hibalista, hogy szabadon azt mutatják, a felhasználók (például ha a felhasználó elfelejti, hogy adja meg a hitelkártya adatait, vagy a lejárati időpontja annak érvényességét);
2. Ellenőrizze a válasz kódját létre egy tömböt egy fehér lista;
3. Ha a hibaüzenet nem szerepel a fehér listán, majd megjeleníti az absztrakt típus „jelenik meg, amikor a tranzakció lebonyolítására hiba történt. Kérjük, próbálja újra néhány perc múlva. "
Amennyiben hibát nem szerepel a fehér listán, azt is javasoljuk, hogy ráír őket egy log fájl a szerveren, és küldje el e-mail az adminisztrátornak teljes részletességgel. Tény, hogy a vizsgálatok folytatásához, és jelentkezzen válaszok PayPal - ez egy jó ötlet, függetlenül attól, hogy vannak hibák, vagy sem. Végtére is, így nyomon tudja követni a rendszer teljesítményét.
Ön készen áll az induláshoz az API PayPal?
A mi mai cikkben azt mondtuk, a két legnépszerűbb API módszerek, valamint néhány példát tartozó hibák és működtetése. Egy jó kezdet, hogy legyen elég. Most akkor gondolkodás nélkül, hogy elkezdi használni a világ legnépszerűbb fizetési rendszerek.