Raadpleeg de onderstaande richtlijnen:
Voor Payment Pages, JavaScript- of Mobile SDK-integraties
Als je Payouts Google Pay ontwikkelt Google Pay integraties waarbij gebruik wordt gemaakt van onze gehoste Payment Pages JavaScript-oplossingen, kun je payouts alleen verwerken payouts een parenttransactionreference waarde van een eerdere transactie.
Dien een REFUND in, met vermelding van de parenttransactionreference van een eerdere transactie waarvan u de Google Pay wilt overnemen.
#!/usr/bin/python
import securetrading
stconfig = securetrading.Config()
stconfig.username = "webservices@example.com"
stconfig.password = "Password1^"
st = securetrading.Api(stconfig)
payout= {
"accounttypedescription": "CFT",
"baseamount": "1",
"currencyiso3a": "GBP",
"parenttransactionreference": "1-2-345678",
"requesttypedescriptions": ["REFUND"],
"sitereference": "site12346"
}
strequest = securetrading.Request()
strequest.update(payout)
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(
'accounttypedescription' => 'CFT',
'baseamount' => '1',
'currencyiso3a' => 'GBP',
'parenttransactionreference' => '1-2-345678',
'requesttypedescriptions' => array('REFUND'),
'sitereference' => 'site12346'
);
$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": [{
"accounttypedescription": "CFT",
"baseamount": "1",
"currencyiso3a": "GBP",
"parenttransactionreference": "1-2-345678",
"requesttypedescriptions": ["REFUND"],
"sitereference": "site12346"
}]
}'
{
"alias":"webservices@example.com",
"version":"1.00",
"request":[{
"accounttypedescription":"CFT",
"baseamount":"1",
"currencyiso3a":"GBP",
"parenttransactionreference": "1-2-345678",
"requesttypedescriptions":["REFUND"],
"sitereference":"site12346"
}]
}
<requestblock version="3.67">
<alias>webservices@example.com</alias>
<request type="REFUND">
<billing>
<amount currencycode="GBP">1</amount>
</billing>
<operation>
<accounttypedescription>CFT</accounttypedescription>
<parenttransactionreference>1-2-345678</parenttransactionreference>
<sitereference>site12346</sitereference>
</operation>
</request>
</requestblock>
Vervang <DOMAIN> met een ondersteund domein. Bekijk de volledige lijst met domeinen.
Als de payout geweigerd, kan dit komen doordat het Google Pay waarnaar in uw verzoek wordt verwezen, is verwijderd of bijgewerkt. In dat geval:
- Voer een nieuwe betaling of Rekeningcontrole uit Rekeningcontrole de Google Pay van de kaarthouder opnieuw vast te leggen.
- Vraag de nieuwe transactionreference uit het antwoord.
- Dien een nieuwe payout in via deze transactionreference als parenttransactionreference.
Als de payout nog steeds payout geweigerd, dient de kaarthouder contact op te nemen met de kaartuitgever voor hulp.
Voor API-integraties met Google Pay
Als je Payouts ontwikkelt Payouts integraties die transacties Google Pay via Google Pay verwerken, volg dan de onderstaande richtlijnen:
Betalingsgegevens van het antwoord op Google Pay :
-
pan
Toegewezen vanuit:
encryptedMessage ≫ paymentMethodDetails ≫ pan -
expirydate
Afgedrukt van:
encryptedMessage ≫ paymentMethodDetails ≫ expirationMonth/expirationYear -
walletdisplayname
Afgebeeld van:
paymentMethodData ≫ info
Als u van plan bent de factuur- en leveringsgegevens van de klant uit zijn of haar Google Wallet op te halen, moet u ook het antwoord van de Google API op deze velden ontleden en deze koppelen aan de juiste velden in het volgende verzoek.
Voorbeeld aanvraag
#!/usr/bin/python
import securetrading
stconfig = securetrading.Config()
stconfig.username = "webservices@example.com"
stconfig.password = "Password1^"
st = securetrading.Api(stconfig)
auth = {
"accounttypedescription":"CFT",
"baseamount":"2000",
"currencyiso3a":"GBP",
"expirydate":"07/2026",
"pan":"5100000000000511",
"requesttypedescriptions": ["REFUND"],
"sitereference": "test_site12345",
"walletdisplayname":"MasterCard 0511",
"orderreference":"My_Order_123",
"walletsource":"GOOGLEPAY"
}
strequest = securetrading.Request()
strequest.update(auth)
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(
'accounttypedescription' => 'CFT',
'baseamount' => '2000',
'currencyiso3a' => 'GBP',
'expirydate' => '07/2026',
'pan' => '5100000000000511',
'requesttypedescriptions' => ["REFUND"],
'sitereference' => 'test_site12345',
'walletdisplayname' => 'MasterCard 0511',
'orderreference' => 'My_Order_123',
'walletsource' => 'GOOGLEPAY'
);
$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": [{
"accounttypedescription":"CFT",
"baseamount":"2000",
"currencyiso3a":"GBP",
"expirydate":"07/2026",
"pan":"5100000000000511",
"requesttypedescriptions":["REFUND"],
"sitereference": "test_site12345",
"walletdisplayname":"MasterCard 0511",
"orderreference":"My_Order_123",
"walletsource":"GOOGLEPAY"
}]
}'
{
"alias":"webservices@example.com",
"version":"1.00",
"request":[{
"accounttypedescription":"CFT",
"baseamount":"2000",
"currencyiso3a":"GBP",
"expirydate":"07/2026",
"pan":"5100000000000511",
"requesttypedescriptions":["REFUND"],
"sitereference": "test_site12345",
"walletdisplayname":"MasterCard 0511",
"orderreference":"My_Order_123",
"walletsource":"GOOGLEPAY"
}]
}
<requestblock version="3.67">
<alias>webservices@example.com</alias>
<request type="REFUND">
<billing>
<payment>
<expirydate>07/2026</expirydate>
<pan>5100000000000511</pan>
<wallet>
<displayname>MasterCard 0511</displayname>
<source>GOOGLEPAY</source>
</wallet>
</payment>
<amount currencycode="GBP">2000</amount>
</billing>
<merchant>
<orderreference>My_Order_123</orderreference>
</merchant>
<operation>
<sitereference>test_site12345</sitereference>
<accounttypedescription>CFT</accounttypedescription>
</operation>
</request>
</requestblock>
Als de payout geweigerd, dient de kaarthouder contact op te nemen met de kaartuitgever voor hulp.
Nuttige bronnen
Als CRYPTOGRAM_3DS wordt geretourneerd in de authMethodhoeft u geen 3-D secure authenticatie uit te voeren.
Na het antwoord van Google Pay zou je de onderstaande velden in je bezit moeten hebben; deze zijn vereist voor het volgende verzoek:
Betalingsgegevens van het antwoord op Google Pay :
-
pan
Toegewezen vanuit:
encryptedMessage ≫ paymentMethodDetails ≫ pan -
expirydate
Afgedrukt van:
encryptedMessage ≫ paymentMethodDetails ≫ expirationMonth/expirationYear -
walletdisplayname
Afgebeeld van:
paymentMethodData ≫ info -
tavv
Afgebeeld van:
encryptedMessage ≫ paymentMethodDetails ≫ cryptogram -
eci
Toegewezen vanuit:
encryptedMessage ≫ paymentMethodDetails ≫ eciIndicator
Als u van plan bent de factuur- en leveringsgegevens van de klant uit zijn of haar Google Wallet op te halen, moet u ook het antwoord van de Google API op deze velden ontleden en deze koppelen aan de juiste velden in het volgende verzoek.
Voorbeeld aanvraag
#!/usr/bin/python
import securetrading
stconfig = securetrading.Config()
stconfig.username = "webservices@example.com"
stconfig.password = "Password1^"
st = securetrading.Api(stconfig)
auth = {
"accounttypedescription":"CFT",
"baseamount":"2000",
"currencyiso3a":"GBP",
"eci":"2",
"expirydate":"07/2026",
"pan":"5100000000000511",
"requesttypedescriptions": ["REFUND"],
"sitereference":"test_site12345",
"tavv":"ALFoEd4DhmGzAIj3dUo4AoABFA==",
"tokenisedpayment":"1",
"tokentype":"GOOGLEPAY",
"walletdisplayname":"MasterCard 0511",
"walletsource":"GOOGLEPAY"
}
strequest = securetrading.Request()
strequest.update(auth)
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(
'accounttypedescription' => 'CFT',
'baseamount' => '2000',
'currencyiso3a' => 'GBP',
'eci' => '2',
'expirydate' => '07/2026',
'orderreference' => 'My_Order_123',
'pan' => '5100000000000511',
'requesttypedescriptions' => array('REFUND'),
'sitereference' => 'test_site12345',
'tavv' => 'ALFoEd4DhmGzAIj3dUo4AoABFA==',
'tokenisedpayment' => '1',
'tokentype' => 'GOOGLEPAY',
'walletdisplayname' => 'MasterCard 0511',
'walletsource' => 'GOOGLEPAY'
);
$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": [{
"accounttypedescription":"CFT",
"baseamount":"2000",
"currencyiso3a":"GBP",
"eci":"2",
"expirydate":"07/2026",
"orderreference": "My_Order_123",
"pan":"5100000000000511",
"requesttypedescriptions": ["REFUND"],
"sitereference": "test_site12345",
"tavv":"ALFoEd4DhmGzAIj3dUo4AoABFA==",
"tokenisedpayment":"1",
"tokentype":"GOOGLEPAY",
"walletdisplayname":"MasterCard 0511",
"walletsource":"GOOGLEPAY"
}]
}'
{
"alias":"webservices@example.com",
"version":"1.00",
"request":[{
"accounttypedescription":"CFT",
"baseamount":"2000",
"currencyiso3a":"GBP",
"eci":"2",
"expirydate":"07/2026",
"orderreference": "My_Order_123",
"pan":"5100000000000511",
"requesttypedescriptions": ["REFUND"],
"sitereference": "test_site12345",
"tavv":"ALFoEd4DhmGzAIj3dUo4AoABFA==",
"tokenisedpayment":"1",
"tokentype":"GOOGLEPAY",
"walletdisplayname":"MasterCard 0511",
"walletsource":"GOOGLEPAY"
}]
}
<requestblock version="3.67">
<alias>webservices@example.com</alias>
<request type="REFUND">
<billing>
<payment>
<expirydate>07/2026</expirydate>
<pan tokenised="1" tokentype="GOOGLEPAY">5100000000000511</pan>
<wallet>
<displayname>MasterCard 0511</displayname>
<source>GOOGLEPAY</source>
</wallet>
</payment>
<amount currencycode="GBP">2000</amount>
</billing>
<merchant>
<orderreference>My_Order_123</orderreference>
</merchant>
<operation>
<sitereference>test_site12345</sitereference>
<accounttypedescription>CFT</accounttypedescription>
</operation>
<threedsecure>
<eci>2</eci>
<tavv>ALFoEd4DhmGzAIj3dUo4AoABFA==</tavv>
</threedsecure>
</request>
</requestblock>
Als de payout geweigerd, dient de kaarthouder contact op te nemen met de kaartuitgever voor hulp.