PayPal is een internationaal e-commerce bedrijf dat online betalingen en overschrijvingen mogelijk maakt.
Express Checkout Mark (ECM): PayPal wordt getoond als een extra betaalmethode op uw bestaande kassa, naast credit/debitcards.
Ondersteunde landen | Geen beperkingen voor landen van de klant. |
Ondersteunde munteenheden | AUD, CAD, EUR, GBP, JPY, USD |
Terugbetalingen |
Volledige en gedeeltelijke terugbetaling toegestaan. |
Terugboekingen |
Geschillen worden beheerd door PayPal. |
Zero-authorisation |
Niet ondersteund. |
Terugkerende betalingen |
Niet ondersteund. |
Voordelen van de uitvoering ECM
- Hiermee kunt u PayPal integreren in uw bestaande kassa-oplossing.
- Het adres dat de klant op uw website opgeeft is definitief en kan niet worden gewijzigd op PayPal's website.
Procesoverzicht
Wat zal de klant zien?
- Tijdens het afrekenen presenteert uw website PayPal als betaalmethode.
- De klant selecteert het gewenste leveringsadres op uw afrekenpagina en kiest voor betaling via PayPal.
- De klant wordt doorgestuurd naar PayPal, waar hij zich aanmeldt met zijn PayPal-gegevens (hij kan zich bij PayPal registreren als hij nog geen rekening heeft).
- De klant bekijkt zijn bestelling en gaat akkoord met de betaling op de website van PayPal.
- De klant wordt doorgestuurd naar uw website, waar een bevestiging wordt weergegeven (bv. "Betaling geslaagd").
Hoe werkt het achter de schermen?
-
Initieer de klant
- De klant voert het gewenste afleveradres in op de website van de verkoper en kiest ervoor om met PayPal te betalen.
- Merchant dient ORDER verzoek in om de sessie te starten, inclusief cancelurl en returnurl.
- Merchant ontvangt ORDER antwoord, inclusief paypaltoken en redirecturl.
-
Doorverwijzen naar PayPal
- De Merchant leidt de browser van de klant door naar de redirecturl, met inbegrip van de paypaltoken.
- De klant meldt zich aan en bevestigt het gewenste afleveradres en de betalingsmethode op de website van PayPal en gaat akkoord met de betaling.
- Als dit lukt, wordt de browser van de klant omgeleid naar de returnurl.
- Als de PayPal-bestelling wordt geannuleerd, wordt de browser doorgestuurd naar de cancelurl waar een foutmelding kan worden weergegeven. We raden aan om alternatieve betaalmethoden weer te geven, zodat de klant het opnieuw kan proberen.
-
Verwerk de autorisatie
- Alleen als het bovenstaande is gelukt, dient de verkoper een gecombineerd ORDERDETAILS en AUTH verzoek in om de betaling te verwerken.
- De verkoper ontvangt het antwoord ORDERDETAILS AUTH en toont de ontvangstpagina aan de klant.
-
Voltooiing van de betaling
-
Bij standaardgedrag is de transactie in behandeling en worden fondsen doorgaans binnen 24 uur vereffend.
-
Maar indien gewenst kunnen winkeliers hun instellingen zo configureren dat ze in plaats daarvan verzoeken om onmiddellijke betaling. Als alternatief kan afwikkeling tot 7 dagen worden uitgesteld.
-
Een URL-kennisgeving kan worden geconfigureerd om het systeem van de winkelier bij te werken zodra afwikkeling is voltooid. Klik hier voor meer informatie.
-
1. Initieer de klant
PayPal weergeven op uw kassa
Het officiële PayPal-acceptatiemerk moet even duidelijk en dicht bij de andere betalingswijzen op uw detailpagina worden gepresenteerd. Geen Betalingstype moet standaard worden geselecteerd.
U kunt de nieuwste officiële afbeeldingen van het PayPal-acceptatiemerk downloaden van deze URL:
https://www.paypal.com/uk/webapps/mpp/logo-center (link naar externe site)
Als u PayPal selecteert, moeten de betaalkaartvelden worden uitgeschakeld of aan het zicht worden onttrokken.
Wanneer de klant ervoor kiest om met PayPal te betalen, moet uw systeem een ORDER verzoek uitvoeren en het teruggestuurde antwoord interpreteren.
ORDER verzoekvoorbeeld
#!/usr/bin/python
import securetrading
stconfig = securetrading.Config()
stconfig.username = "webservices@example.com"
stconfig.password = "Password1^"
st = securetrading.Api(stconfig)
order = {
"currencyiso3a": "GBP",
"requesttypedescription": "ORDER",
"accounttypedescription": "ECOM",
"sitereference": "test_site12345",
"baseamount": "2001",
"paymenttypedescription": "PAYPAL",
"returnurl": "https://yourwebsite.com",
"cancelurl": "https://yourwebsite.com",
"paypallocale": "GB",
"paypaladdressoverride": "1",
"paypalemail": "billing@email.com"
}
strequest = securetrading.Request()
strequest.update(order)
stresponse = st.process(strequest) #stresponse contains the transaction response
<?php
if (!($autoload = realpath(__DIR__ . '/../../../autoload.php')) && !($autoload = realpath(__DIR__ . '/../vendor/autoload.php'))) {
throw new Exception('Composer autoloader file could not be found.');
}
require_once($autoload);
$configData = array(
'username' => 'webservices@example.com',
'password' => 'Password1^'
);
$requestData = array(
'currencyiso3a' => 'GBP',
'requesttypedescription' => 'ORDER',
'accounttypedescription' => 'ECOM',
'sitereference' => 'test_site12345',
'baseamount' => '2001',
'paymenttypedescription' => 'PAYPAL',
'returnurl' => 'https://yourwebsite.com',
'cancelurl' => 'https://yourwebsite.com',
'paypallocale' => 'GB',
'paypaladdressoverride' => '1',
'paypalemail' => 'billing@email.com'
);
$api = \Securetrading\api($configData);
$response = $api->process($requestData);
var_dump($response->toArray());
?>
curl --user webservices@example.com:Password1^ <DOMAIN>/json/ -H "Content-type: application/json" -H "Accept: application/json" -X POST -d '{
"alias": "webservices@example.com",
"version": "1.00",
"request": [{
"currencyiso3a": "GBP",
"requesttypedescription": "ORDER",
"accounttypedescription": "ECOM",
"sitereference": "test_site12345",
"baseamount": "2001",
"paymenttypedescription": "PAYPAL",
"returnurl": "https://yourwebsite.com",
"cancelurl": "https://yourwebsite.com",
"paypallocale": "GB",
"paypaladdressoverride": "1",
"paypalemail": "billing@email.com"
}]
}'
{
"alias":"webservices@example.com",
"version":"1.00",
"request":[{
"currencyiso3a":"GBP",
"requesttypedescription":"ORDER",
"accounttypedescription":"ECOM",
"sitereference":"test_site12345",
"baseamount":"2001",
"paymenttypedescription":"PAYPAL",
"returnurl":"https://yourwebsite.com",
"cancelurl":"https://yourwebsite.com",
"paypallocale":"GB",
"paypaladdressoverride":"1",
"paypalemail":"billing@email.com"
}]
}
<requestblock version="3.67">
<alias>webservices@example.com</alias>
<request type="ORDER">
<merchant>
<returnurl>https://www.example.com/return</returnurl>
<cancelurl>https://www.example.com/cancel</cancelurl>
</merchant>
<billing>
<amount currencycode="GBP">2001</amount>
<payment type="PAYPAL">
<locale>GB</locale>
<paypaladdressoverride>1</paypaladdressoverride>
<paypalemail>billing@email.com</paypalemail>
</payment>
</billing>
<operation>
<sitereference>test_site12345</sitereference>
<accounttypedescription>ECOM</accounttypedescription>
</operation>
</request>
</requestblock>
Vervang <DOMAIN>
met een ondersteund domein. Klik hier voor een volledige lijst.
Specificatie veld
Veld | Formaat | Beschrijving | |
accounttypedescription XPath: /operation/accounttypedescription |
Alpha (20) | Alleen "ECOM" (e-commerce) wordt ondersteund. | |
baseamount XPath: /billing/amount |
Numeriek (11) | Het bedrag van de transactie in basiseenheden, zonder komma's of decimalen, dus €10 wordt ingediend als 1000. Deze waarde moet groter zijn dan nul. (De maximumlengte kan variëren, afhankelijk van uw wervende bank - Neem contact op met uw bank voor meer informatie) | |
cancelurl XPath: /merchant/cancelurl |
URL (2048) | De URL waar de klant naar terugkeert als hij de autorisatie op zijn PayPal-rekening annuleert. | |
currencyiso3a XPath: /billing/amount/@currencycode |
Alpha (3) |
De Munt waarin de transactie zal worden verwerkt (in ISO3A-formaat). Voor een lijst van Munt codes die door PayPal worden ondersteund, zie de lijst bovenaan deze pagina. |
|
customerprefixname XPath: /customer/name/prefix |
Alfanumeriek, inclusief symbolen (25) |
Het voorvoegsel van de factuurnaam van de klant (bv. De heer, Juffrouw, Dr.). Ten minste één van de velden met de naam van de klant moet worden ingediend als paypaladdressoverride is ingesteld op "1". Anders zijn deze velden facultatief. |
|
customerfirstname XPath: /customer/name/first |
Alfanumeriek, inclusief symbolen (127) |
De klant Voornaam facturatie. Ten minste één van de velden met de naam van de klant moet worden ingediend als paypaladdressoverride is ingesteld op "1". Anders zijn deze velden facultatief. |
|
customermiddlename XPath: /customer/name/middle |
Alfanumeriek, inclusief symbolen (127) |
De middelste factureringsnaam of -namen van de klant. Ten minste één van de velden met de naam van de klant moet worden ingediend als paypaladdressoverride is ingesteld op "1". Anders zijn deze velden facultatief. |
|
customerlastname XPath: /customer/name/last |
Alfanumeriek, inclusief symbolen (127) |
De klant Achternaam facturatie. Ten minste één van de velden met de naam van de klant moet worden ingediend als paypaladdressoverride is ingesteld op "1". Anders zijn deze velden facultatief. |
|
customersuffixname XPath: /customer/name/suffix |
Alfanumeriek, inclusief symbolen (25) |
De achtervoegselnaam van de klant (bv. Bsc). Ten minste één van de velden met de naam van de klant moet worden ingediend als paypaladdressoverride is ingesteld op "1". Anders zijn deze velden facultatief. |
|
customerpremise XPath: /customer/premise |
Alfanumeriek, inclusief symbolen (25) |
De naam of het nummer van het huis van de klant. Deze klantadresvelden zijn verplicht als paypaladdressoverride is ingesteld op "1". Anders zijn deze velden facultatief. |
|
customertown XPath: /customer/town |
Alfanumeriek, inclusief symbolen (127) |
De stad van de klant. Deze klantadresvelden zijn verplicht als paypaladdressoverride is ingesteld op "1". Anders zijn deze velden facultatief. |
|
customercountryiso2a XPath: /customer/country |
Alpha (2) |
Het land van de klant. Dit moet in ISO2A-formaat zijn. Klik hier voor een volledige lijst van landcodes. Deze klantadresvelden zijn verplicht als paypaladdressoverride is ingesteld op "1". Anders zijn deze velden facultatief. |
|
customerstreet XPath: /customer/street |
Alfanumeriek, inclusief symbolen (127) | De straatnaam van de klant. | |
customercounty XPath: /customer/county |
Alfanumeriek, inclusief symbolen (127) |
De provincie van de klant. Voor adressen in de VS kan de staat in dit veld worden ingevuld. Geldige formaten:
Vereist indien customercountryiso2a is een van de volgende: AR, BR, CA, CN, ID, IN, IT, JP, MX, TH, US |
|
customerpostcode XPath: /customer/postcode |
Alfanumeriek (25) |
De postcode of het postnummer van de klant.
Dit moet een geldige postcode zijn voor de customercountryiso2a ingediend. |
|
orderreference XPath: /merchant/orderreference |
Alfanumeriek, inclusief symbolen (25)
Aanbevolen lengte 25 tekens of minder (exacte lengte afhankelijk van de wervende bank). Niet-naleving van deze eis kan ertoe leiden dat de tekst in de transactie wordt ingekort. |
Uw unieke bestelreferentie die kan worden opgeslagen op Trust Payments en het systeem van PayPal (dit is uw PayPal-factuur-ID).
Zorg ervoor dat de bestelreferentie uniek is voor elke bestelling. |
|
paymenttypedescription XPath: /billing/payment/@type |
Alpha (20) | Deze waarde moet worden opgegeven als "PAYPAL". | |
paypaladdressoverride XPath: /billing/payment/paypaladdressoverride |
Numeriek (1) |
Bij gebruik van de ECM flow wordt het op uw website ingevoerde afleveradres doorgegeven aan PayPal en kan het niet door de klant worden gewijzigd op de website van PayPal. Geef een van de volgende waarden op:
|
|
paypalemail XPath: /billing/payment/paypalemail |
E-mail (255) | Het e-mailadres waarmee de klant zich aanmeldt bij PayPal. Maximaal 64 tekens toegestaan vóór het @-symbool. | |
paypallocale XPath: /billing/payment/locale |
Alpha (2) |
De taal van de PayPal-inlogpagina.
Klik hier voor een lijst van PayPal-locaties (link naar externe site). |
|
requesttypedescription XPath: /@type |
Alpha (20) | De waarde in het verzoek moet "ORDER" zijn. | |
returnurl XPath: /merchant/returnurl |
URL (2048) | De URL waarnaar de klant wordt teruggestuurd na een succesvolle autorisatie op zijn PayPal-rekening. | |
sitereference XPath: /operation/sitereference |
Alfanumeriek & underscore (50) | De site referentie heeft betrekking op uw individuele account die u bij de installatie hebt ontvangen. Als u uw site referentie niet kent, neem dan contact op met ons Support Team. |
ORDER antwoordvoorbeeld
{
u 'requestreference': u 'A0bxh87wt',
u 'version': u '1.00',
u 'responses': [{
u 'transactionreference': u '72-32-20002',
u 'paymenttypedescription': u 'PAYPAL',
u 'settleduedate': u '2020-06-01',
u 'transactionstartedtimestamp': u '2020-06-01 15:35:40',
u 'errormessage': u 'Ok',
u 'accounttypedescription': u 'ECOM',
u 'errorcode': u '0',
u 'redirecturl': u 'https://webapp.securetrading.net/cgi-bin/webscr?token=72x32x20002&useraction=commit&cmd=_express-checkout&paypalemail=billing%40email.com',
u 'requesttypedescription': u 'ORDER',
u 'settlestatus': u '0',
u 'operatorname': u 'webservices@example.com',
u 'livestatus': u '0',
u 'paypaltoken': u '72x32x20002'
}]
}
array(3) {
["requestreference"] => string(9) "A349bdehj"
["version"] => string(4) "1.00"
["responses"] =>array(1) {
[0] => array(13) {
["transactionreference"] => string(11) "72-32-20002"
["paymenttypedescription"] => string(6) "PAYPAL"
["settleduedate" ]=> string(10) "2020-06-01"
["transactionstartedtimestamp"] => string(19) "2020-06-01 15:35:40"
["errormessage"] => string(2) "Ok"
["accounttypedescription"] => string(4) "ECOM"
["errorcode"] => string(1) "0"
["redirecturl"] => string(137) "https://webapp.securetrading.net/cgi-bin/webscr?token=72x32x20002&useraction=commit&cmd=_express-checkout&paypalemail=billing%40email.com"
["requesttypedescription"] => string(5) "ORDER"
["settlestatus"] => string(1) "0"
["operatorname"] => string(23) "webservices@example.com"
["livestatus"] => string(1) "0"
["paypaltoken"] => string(11) "72x32x20002"
}
}
}
{
"requestreference":"W23-fjgvn3d8",
"version":"1.00",
"response":[{
"transactionreference":"72-32-20002",
"paymenttypedescription":"PAYPAL",
"settleduedate":"2020-06-01",
"transactionstartedtimestamp":"2020-06-01 15:35:40",
"errormessage":"Ok",
"accounttypedescription":"ECOM",
"errorcode":"0",
"redirecturl":"https://webapp.securetrading.net/cgi-bin/webscr?token=72x32x20002&useraction=commit&cmd=_express-checkout&paypalemail=billing%40email.com",
"requesttypedescription":"ORDER",
"settlestatus":"0",
"operatorname":"webservices@example.com",
"livestatus":"0",
"paypaltoken":"72x32x20002"
}],
"secrand":"zO9"
}
<responseblock version="3.67">
<requestreference>X62d3qhev</requestreference>
<response type="ORDER">
<merchant>
<operatorname>webservices@example.com</operatorname>
</merchant>
<transactionreference>72-32-20002</transactionreference>
<billing>
<payment type="PAYPAL"/>
</billing>
<timestamp>2020-06-01 15:35:40</timestamp>
<paypal>
<redirecturl>https://www.paypal.com/cgi-bin/webscr?token=56604A14170900854600&useraction=commit&cmd=_express-checkout&paypalemail=billing%40email.com</redirecturl>
<token>56604A14170900854600</token>
</paypal>
<settlement>
<settleduedate>2020-06-01</settleduedate>
<settlestatus>0</settlestatus>
</settlement>
<live>1</live>
<error>
<message>Ok</message>
<code>0</code>
</error>
<operation>
<accounttypedescription>ECOM</accounttypedescription>
</operation>
</response>
<secrand>9yFfRJfI</secrand>
</responseblock>
Specificatie veld
Veld | Formaat | Beschrijving | |
accounttypedescription XPath: /operation/accounttypedescription |
Alpha (20) | De geretourneerde waarde is "ECOM". | |
errorcode XPath: /error/code |
Numeriek (1-5) |
De foutcode (errorcode) moet worden gebruikt om te bepalen of het verzoek succesvol was of niet.
Klik hier voor een volledige lijst van errorcode en berichtwaarden. |
|
errordata XPath: /error/data |
Alfanumeriek (255) |
Aanvullende informatie om te helpen bij het oplossen van de fout. Wordt alleen geretourneerd als er een fout is opgetreden. |
|
errormessage XPath: /error/message |
Alfanumeriek (255) |
Dit is het bericht dat overeenkomt met de bovenstaande code.
Klik hier voor een volledige lijst van errorcode en berichtwaarden. |
|
livestatus XPath: /live |
Numeriek (1) |
|
|
operatorname XPath: /merchant/operatorname |
Alfanumeriek (255) | De waarde van dit veld bevat de naam van de gebruiker die het verzoek heeft verwerkt. | |
paymenttypedescription XPath: /billing/payment/@type |
Alpha (20) | De teruggezonden waarde is "PAYPAL". | |
paypaltoken XPath: /paypal/token |
Alfanumeriek (255) | Het token heeft betrekking op de sessie van de klant in het systeem van PayPal. U moet dit registreren, omdat u het dan kunt gebruiken in verband met eventuele relevante vragen aan PayPal. | |
redirecturl XPath: /paypal/redirecturl |
URL (255) | Stuur de browser van de klant door naar deze URL, zodat hij zich kan aanmelden bij zijn PayPal-rekening. | |
requesttypedescription XPath: /@type |
Alpha (20) | De teruggezonden waarde is "ORDER". | |
settleduedate XPath: /settlement/settleduedate |
Datum JJJJ-MM-DD | De datum waarop de transactie zal worden afgewikkeld. | |
settlestatus XPath: /settlement/settlestatus |
Numeriek (3) |
|
|
transactionreference XPath: /transactionreference |
Alfanumeriek, inclusief koppeltekens (25) |
Een unieke referentie voor het verzoek, toegewezen door Trust Payments. | |
transactionstartedtimestamp XPath: /timestamp |
Datum tijd JJJJ-MM-DD hh:mm:ss | Het tijdstip waarop het verzoek is verwerkt. |
Aanvullende opmerkingen over ORDER verzoeken
- De naam van de klant, het adres van de klant, de stad en het land van de klant zijn vereist bij gebruik van paypaladdressoverride optie "1".
- Wanneer PayPal een transactie weigert terwijl de klant zich op hun servers bevindt, verschijnt er een bericht op het scherm. De klant kan worden gevraagd het opnieuw te proberen of de betalingspoging te annuleren.
- U kunt uw PayPal-rekening zo configureren dat de controle op dubbele factuur-ID's (waarden die zijn ingediend in de orderreference). Neem contact op met PayPal Support voor meer informatie.
2. Doorverwijzen naar PayPal
Na het succesvol indienen van een ORDER verzoek, zal uw systeem een redirecturl in het antwoord. Uw systeem moet de browser van de klant omleiden naar deze URL, een door PayPal gehoste pagina, om de betaling te verwerken.
Bij het testen wordt onze gesimuleerde PayPal-inlogpagina (zoals hieronder getoond) getoond in plaats van een echte PayPal-inlogpagina.
Na het inloggen op hun PayPal-rekening heeft de klant de optie om door te gaan met de transactie of deze te annuleren. Bij het testen kunt u dit nabootsen door een van de onderstaande e-mails te gebruiken op ons test PayPal inlogscherm.
E-mailadres | Scenario | Resultaat |
---|---|---|
auth@auth.com | De klant voert een succesvolle transactie uit. | De browser van de klant wordt omgeleid naar de URL die is opgegeven in de returnurl die werd ingediend in het ORDER verzoek. |
cancel@cancel.com | De klant kiest ervoor om de transactie te annuleren. | De browser van de klant wordt omgeleid naar de URL die is opgegeven in de cancelurl die werd ingediend in het ORDER verzoek. |
U moet wachten tot de klant terugkeert van de PayPal-loginpagina naar de returnurl gehost op uw servers alvorens een autorisatie te verwerken.
3. Het verwerken van de authorisaties
Als de klant wordt doorverwezen naar de cancelurl:
Stel uw klant alternatieve betaalmethoden voor zodat hij het opnieuw kan proberen.
Als de klant wordt doorverwezen naar de returnurl:
Volg de onderstaande instructies.
ORDERDETAILS AUTH verzoekvoorbeeld
Dit voorbeeld laat zien hoe een ORDERDETAILS gevolgd door een AUTH verzoek wordt verwerkt. Merk op dat de structuur van het verzoek vergelijkbaar is met die van een standaard AUTH aanvraag, behalve dat "ORDERDETAILS" is opgenomen in de requesttypedescriptions veld voor "AUTH".
#!/usr/bin/python
import securetrading
stconfig = securetrading.Config()
stconfig.username = "webservices@example.com"
stconfig.password = "Password1^"
st = securetrading.Api(stconfig)
orderdetailsauth = {
"requesttypedescriptions": ["ORDERDETAILS","AUTH"],
"sitereference": "test_site12345",
"parenttransactionreference": "72-32-20002",
"paymenttypedescription": "PAYPAL",
"paypaladdressoverride": "1"
}
strequest = securetrading.Request()
strequest.update(orderdetailsauth)
stresponse = st.process(strequest) #stresponse contains the transaction response
<?php
if (!($autoload = realpath(__DIR__ . '/../../../autoload.php')) && !($autoload = realpath(__DIR__ . '/../vendor/autoload.php'))) {
throw new Exception('Composer autoloader file could not be found.');
}
require_once($autoload);
$configData = array(
'username' => 'webservices@example.com',
'password' => 'Password1^'
);
$requestData = array(
'requesttypedescriptions' => array('ORDERDETAILS','AUTH'),
'sitereference' => 'test_site12345',
'parenttransactionreference' => '72-32-20002',
'paymenttypedescription' => 'PAYPAL',
'paypaladdressoverride' => '1'
);
$api = \Securetrading\api($configData);
$response = $api->process($requestData);
var_dump($response->toArray());
?>
curl --user webservices@example.com:Password1^ <DOMAIN>/json/ -H "Content-type: application/json" -H "Accept: application/json" -X POST -d '{
"alias": "webservices@example.com",
"version": "1.00",
"request": [{
"requesttypedescriptions": ["ORDERDETAILS","AUTH"],
"sitereference": "test_site12345",
"parenttransactionreference": "72-32-20002",
"paymenttypedescription": "PAYPAL",
"paypaladdressoverride": "1"
}]
}'
{
"alias":"webservices@example.com",
"version":"1.00",
"request":[{
"requesttypedescriptions":["ORDERDETAILS","AUTH"],
"sitereference":"test_site12345",
"parenttransactionreference":"72-32-20002",
"paymenttypedescription":"PAYPAL",
"paypaladdressoverride":"1"
}]
}
<requestblock version="3.67">
<alias>webservices@example.com</alias>
<request type="ORDERDETAILS">
<operation>
<sitereference>test_site12345</sitereference>
<parenttransactionreference>72-32-20002</parenttransactionreference>
</operation>
</request>
<request type="AUTH">
<billing>
<payment type="PAYPAL">
<paypaladdressoverride>1</paypaladdressoverride>
</payment>
</billing>
</request>
</requestblock>
Vervang <DOMAIN>
met een ondersteund domein. Klik hier voor een volledige lijst.
Specificatie veld
Veld | Formaat | Beschrijving | |
parenttransactionreference XPath: /operation/parenttransactionreference |
Alfanumeriek en koppeltekens (25) |
Dien de transactionreference teruggestuurd in het voorgaande ORDER antwoord. | |
paymenttypedescription XPath: /billing/payment/@type |
Alpha (20) | Deze waarde moet worden opgegeven als "PAYPAL". | |
paypaladdressoverride XPath: /billing/payment/paypaladdressoverride |
Numeriek (1) | Moet dezelfde waarde zijn als in het verzoek op ORDER . | |
requesttypedescriptions Note: The XML submission is comprised of two separate requests. We recommend using the example above to help structure this request. |
Lijst | Dien "ORDERDETAILS" en "AUTH" in, zoals in het verzoekvoorbeeld hierboven. | |
sitereference XPath: /operation/sitereference |
Alfanumeriek & underscore (50) |
De site referentie heeft betrekking op uw individuele account die u bij de installatie hebt ontvangen. Als u uw site referentie niet kent, neem dan contact op met ons Support Team. |
ORDERDETAILS AUTH antwoordvoorbeeld
Hier is een voorbeeld van een gecombineerd ORDERDETAILS en vervolgens AUTH antwoord. Merk op hoe het antwoord in twee delen is verdeeld; het eerste deel vertegenwoordigt het antwoord "ORDERDETAILS" en het tweede deel vertegenwoordigt het antwoord "AUTH" (zoals aangegeven door de waarden van de requesttypedescription velden).
{
u 'requestreference': u 'A0dcb11e6',
u 'version': u '1.00',
u 'responses': [{
u 'transactionreference': u '72-32-20003',
u 'merchantname': u 'Test Merchant',
u 'billinglastname': u 'PAYPALLastName',
u 'transactionstartedtimestamp': u '2020-06-01 15:36:00',
u 'paypalpayerstatus': u 'verified',
u 'parenttransactionreference': u '72-32-20002',
u 'accounttypedescription': u 'ECOM',
u 'errorcode': u '0',
u 'settleduedate': u '2020-06-01',
u 'billingcountryiso2a': u 'GB',
u 'paypalpayerid': u 'e018408a43pid',
u 'paypaladdressstatus': u 'Confirmed',
u 'billingemail': u 'paypal.email@example.com',
u 'requesttypedescription': u 'ORDERDETAILS',
u 'errormessage': u 'Ok',
u 'billingfirstname': u 'Andru00e9',
u 'operatorname': u 'webservices@example.com',
u 'livestatus': u '0',
u 'settlestatus': u '0'
}, {
u 'transactionreference': u '72-32-20004',
u 'merchantname': u 'Test Merchant',
u 'paymenttypedescription': u 'PAYPAL',
u 'authcode': u '44782-D149613359266',
u 'transactionstartedtimestamp': u '2020-06-01 15:36:00',
u 'errormessage': u 'Ok',
u 'parenttransactionreference': u '72-32-20003',
u 'accounttypedescription': u 'ECOM',
u 'errorcode': u '0',
u 'settleduedate': u '2020-06-01',
u 'currencyiso3a': u 'GBP',
u 'baseamount': u '2001',
u 'acquirerresponsecode': u 'None',
u 'requesttypedescription': u 'AUTH',
u 'operatorname': u 'webservices@example.com',
u 'livestatus': u '0',
u 'settlestatus': u '0'
}]
}
array(3) {
["requestreference"] => string(9) "A58cdfkpy"
["version"] => string(4) "1.00"
["responses"] => array(2) {
[0] => array(19) {
["transactionreference"] => string(11) "72-32-20003"
["merchantname"] => string(13) "Test Merchant"
["billinglastname"] => string(14) "PAYPALLastName"
["transactionstartedtimestamp"] => string(19) "2020-06-01 15:36:00"
["paypalpayerstatus"] => string(8) "verified"
["parenttransactionreference"] => string(11) "72-32-20002"
["accounttypedescription"] => string(4) "ECOM"
["errorcode"] => string(1) "0"
["settleduedate"] => string(10) "2020-06-01"
["billingcountryiso2a"] => string(2) "GB"
["paypalpayerid"] => string(13) "e018408a43pid"
["paypaladdressstatus"] => string(9) "Confirmed"
["billingemail"] => string(24) "paypal.email@example.com"
["requesttypedescription"] => string(12) "ORDERDETAILS"
["errormessage"] => string(2) "Ok"
["billingfirstname"] => string(10) "Andru00e9"
["operatorname"] => string(23) "webservices@example.com"
["livestatus"] => string(1) "0"
["settlestatus"] => string(1) "0"
}
[1] =>array(17) {
["transactionreference"] => string(11) "72-32-20004"
["merchantname"] => string(13) "Test Merchant"
["paymenttypedescription"] => string(6) "PAYPAL"
["authcode"] => string(19) "44782-D149613359266"
["transactionstartedtimestamp"] => string(19) "2020-06-01 15:36:00"
["errormessage"] => string(2) "Ok"
["parenttransactionreference"] => string(11) "72-32-20003"
["accounttypedescription"] => string(4) "ECOM"
["errorcode"] => string(1) "0"
["settleduedate"] => string(10) "2020-06-01"
["currencyiso3a"] => string(3) "GBP"
["baseamount"] => string(4) "2001"
["acquirerresponsecode"] => string(4) "None"
["requesttypedescription"] => string(4) "AUTH"
["operatorname"] => string(23) "webservices@example.com"
["livestatus"] => string(1) "0"
["settlestatus"] => string(1) "0"
}
}
}
{
"requestreference":"W23-fjgvn3d8",
"version":"1.00",
"response":[{
"transactionreference":"72-32-20003",
"merchantname":"Test Merchant",
"billinglastname":"PAYPALLastName",
"transactionstartedtimestamp":"2020-06-01 15:36:00",
"paypalpayerstatus":"verified",
"parenttransactionreference":"72-32-20002",
"accounttypedescription":"ECOM",
"errorcode":"0",
"settleduedate":"2020-06-01",
"billingcountryiso2a":"GB",
"paypalpayerid":"e018408a43pid",
"paypaladdressstatus":"Confirmed",
"billingemail":"paypal.email@example.com",
"requesttypedescription":"ORDERDETAILS",
"errormessage":"Ok",
"billingfirstname":"Andru00e9",
"operatorname":"webservices@example.com",
"livestatus":"0",
"settlestatus":"0"
},
{
"transactionreference":"72-32-20004",
"merchantname":"Test Merchant",
"paymenttypedescription":"PAYPAL",
"authcode":"44782-D149613359266",
"transactionstartedtimestamp":"2020-06-01 15:36:00",
"errormessage":"Ok",
"parenttransactionreference":"72-32-20003",
"accounttypedescription":"ECOM",
"errorcode":"0",
"settleduedate":"2020-06-01",
"currencyiso3a":"GBP",
"baseamount":"2001",
"acquirerresponsecode":"None",
"requesttypedescription":"AUTH",
"operatorname":"webservices@example.com",
"livestatus":"0",
"settlestatus":"0"
}],
"secrand":"zO9"
}
<responseblock version="3.67">
<requestreference>X538160153</requestreference>
<response type="ORDERDETAILS">
<merchant>
<merchantname>My Test Site</merchantname>
<operatorname>webservices@example.com</operatorname>
</merchant>
<customer>
<town>PAYPAL City</town>
<county>MI</county>
<street>MORE STREET</street>
<name>
<last>PayPalShipToName</last>
</name>
<premise>1 PayPalStreet</premise>
<country>US</country>
<ip>1.2.3.4</ip>
</customer>
<transactionreference>72-32-20003</transactionreference>
<billing>
<name>
<last>PAYPALLastName</last>
</name>
<country>GB</country>
<email>paypal.email@example.com</email>
<telephone type="M">0777777777</telephone>
</billing>
<timestamp>2020-06-01 15:36:00</timestamp>
<paypal>
<addressstatus>Confirmed</addressstatus>
<payerstatus>verified</payerstatus>
<payerid>4d22e2606apid</payerid>
</paypal>
<settlement>
<settleduedate>2020-06-01</settleduedate>
<settlestatus>0</settlestatus>
</settlement>
<live>1</live>
<error>
<message>Ok</message>
<code>0</code>
</error>
<operation>
<parenttransactionreference>72-32-20002</parenttransactionreference>
<accounttypedescription>ECOM</accounttypedescription>
</operation>
</response>
<response type="AUTH">
<merchant>
<merchantname>My Test Site</merchantname>
<operatorname>webservices@example.com</operatorname>
</merchant>
<transactionreference>72-32-20004</transactionreference>
<timestamp>2020-06-01 15:36:00</timestamp>
<acquirerresponsecode>None</acquirerresponsecode>
<operation>
<parenttransactionreference>72-32-20003</parenttransactionreference>
<accounttypedescription>ECOM</accounttypedescription>
</operation>
<settlement>
<settleduedate>2020-06-01</settleduedate>
<settlestatus>0</settlestatus>
</settlement>
<billing>
<amount currencycode="GBP">2001</amount>
<payment type="PAYPAL"/>
</billing>
<authcode>83154-D140912749345</authcode>
<live>1</live>
<error>
<message>Ok</message>
<code>0</code>
</error>
</response>
<secrand>oSs0Vl</secrand>
</responseblock>
Specificatie veld
Omdat veel van de in dit antwoord geretourneerde velden ook voorkomen in een standaard AUTH antwoord, hebben wij hieronder alleen de belangrijkste velden opgesomd, die relevant zijn bij het verwerken van PayPal antwoorden.
Klik hier voor de volledige AUTH specificatie.
Veld | Formaat | Beschrijving | |
accounttypedescription XPath: /operation/accounttypedescription |
Alpha (20) | De geretourneerde waarde is "ECOM". | |
errorcode XPath: /error/code |
Numeriek (1-5) |
De foutcode (errorcode) moet worden gebruikt om te bepalen of het verzoek succesvol was of niet.
Vergeet niet de foutmelding in zowel ORDERDETAILS als AUTH te controleren. Klik hier voor een volledige lijst van errorcode en berichtwaarden. |
|
errordata XPath: /error/data |
Alfanumeriek (255) |
Aanvullende informatie om te helpen bij het oplossen van de fout.
Vergeet niet de foutmelding in zowel ORDERDETAILS als AUTH te controleren. Wordt alleen geretourneerd als er een fout is opgetreden. |
|
errormessage XPath: /error/message |
Alfanumeriek (255) |
Dit is het bericht dat overeenkomt met de bovenstaande code.
Vergeet niet de foutmelding in zowel ORDERDETAILS als AUTH te controleren. Klik hier voor een volledige lijst van errorcode en berichtwaarden. |
|
livestatus XPath: /live |
Numeriek (1) |
|
|
merchantname XPath: /merchant/merchantname |
Alfanumeriek (255) |
Dit zijn gegevens die verband houden met de rekening die is gebruikt om de transactie te verwerken.
Als u deze velden wilt wijzigen, neem dan contact op met ons Support Team. Hangt af van uw account configuratie. |
|
operatorname XPath: /merchant/operatorname |
Alfanumeriek (255) | De waarde van dit veld bevat de naam van de gebruiker die het verzoek heeft verwerkt. | |
parenttransactionreference XPath: /operation/parenttransactionreference |
Alfanumeriek en koppeltekens (25) |
Dit veld wordt in beide delen van het antwoord geretourneerd en verwijst naar eerdere verzoeken die in de reeks zijn verwerkt. | |
Alleen teruggestuurd in AUTH antwoord |
paymenttypedescription XPath: /billing/payment/@type |
Alpha (20) | De teruggezonden waarde is "PAYPAL". |
Alleen teruggestuurd in ORDERDETAILS antwoord |
paypaladdressstatus XPath: /paypal/addressstatus |
Alfa (25) | De status van het adres bij PayPal. Ofwel "Confirmed" of "Unconfirmed". |
Alleen teruggestuurd in ORDERDETAILS antwoord |
paypalpayerid XPath: /paypal/payerid |
Alfanumeriek (255) | Uniek PayPal-klantennummer. |
Alleen teruggestuurd in ORDERDETAILS antwoord |
paypalpayerstatus XPath: /paypal/payerstatus |
Alfa (25) | De status van de betaler bij PayPal. Of "verified" of "unverified". |
requesttypedescription XPath: /@type |
Alpha (20) | "ORDERDETAILS" en "AUTH" worden teruggestuurd in hun respectieve antwoorden. | |
settleduedate XPath: /settlement/settleduedate |
Datum JJJJ-MM-DD | De datum waarop de transactie zal worden afgewikkeld. | |
settlestatus XPath: /settlement/settlestatus |
Numeriek (3) | De waarde die wordt geretourneerd in het antwoord AUTH wordt gebruikt om de transactiestatus te bepalen. Klik hier voor meer informatie over de settlestatus veld en het afwikkeling proces voor PayPal. | |
transactionreference XPath: /transactionreference |
Alfanumeriek, inclusief koppeltekens (25) |
Unieke referenties voor beide verzoeken, toegewezen door Trust Payments. | |
transactionstartedtimestamp XPath: /timestamp |
Datum tijd JJJJ-MM-DD hh:mm:ss | Het tijdstip waarop elk verzoek is verwerkt. |