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.

Az első lépések a api 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.