Om fraude te verminderen, heeft Visa binnenlandse financiële dienstverleners (Klant Categorie Code / MCC 6012) gevestigd in Visa Europe verplicht om extra velden in verzoeken naar Trust Payments te sturen die de ontvanger van fondsen aanduiden.
Uw Klant Categorie Code (MCC) is een viercijferig nummer dat door uw verwerver aan u is toegekend. Het wordt gebruikt om het bedrijf in te delen naar het soort producten of diensten dat het levert. Als u niet zeker bent van de waarde van uw Klant Categorie Code, neem dan contact op met ons Support Team.
Voor Britse handelaren met MCC 6012 kan het niet indienen van deze velden voorkomen dat de transactie succesvol wordt verwerkt, waarbij een "60025" errorcode wordt teruggestuurd in het antwoord.
Erfenis
Zodra u een AUTH of ACCOUNTCHECK met deze verplichte velden hebt verwerkt, kunnen ze in toekomstige verzoeken worden overgenomen en indien nodig automatisch aan de wervende bank worden doorgegeven.
Je moet je POST naar Payment Pages bijwerken met de volgende velden:
U kunt ook uw eigen HTML uploaden om de gehoste Payment Pages aan te passen zodat er gevraagd wordt naar de velden die nodig zijn voor MCC 6012. Om te beginnen met het aanpassen van de Payment Pages met HTML, klik hier.
Naam van het veld |
Vereist tijdens betaalsessie (hetzij opgenomen in POST door handelaar of ingevoerd door klant op Payment Pages) |
Vereist in POST | Beschrijving |
customeraccountnumber | Ja | Ja |
Als het type rekeningnummer "ACCOUNT", het rekeningnummer van de primaire ontvanger. Als het type rekeningnummer "CARD", het kaartnummer van de primaire ontvanger. Wanneer de customeraccountnumber waarde in de POST een kaartnummer is, wordt dit gemaskeerd (bijv. "559139######0504") wanneer het wordt weergegeven in Portal en geretourneerd in URL-kennisgeving(s) (indien ingeschakeld). |
customeraccountnumbertype | Ja | Ja |
Ofwel "CARD" of "ACCOUNT". Wanneer de customeraccountnumber waarde in de POST een kaartnummer is, zal de customeraccountnumbertype waarde weergegeven in Portal en teruggestuurd in URL-kennisgeving(s) (indien ingeschakeld): "CARD". |
customercountryiso2a | Geen | Geen | Het land van de klant in iso2a formaat. Hoewel dit niet vereist is, raden wij aan het land in de POST op te nemen, omdat dit ons in staat stelt de juiste validatie van de customerpostcode. |
customerdob | Ja | Ja |
De geboortedatum van de primaire ontvanger. Formaat: JJJJ-MM-DD. |
customerlastname | Ja | Geen |
De achternaam van de primaire ontvanger. |
customerpostcode | Ja | Geen |
De postcode van de primaire ontvanger Dit moet een geldige Britse postcode zijn. |
Het volgende is een voorbeeld van een POST naar Payment Pages die de door Visa en Mastercard verplichte velden bevat voor handelaren met categoriecode 6012:
<html>
<body>
<form method="POST" action="<DOMAIN>/process/payments/details">
<input type="hidden" name="sitereference" value="test_site12345">
<input type="hidden" name="stprofile" value="default">
<input type="hidden" name="stdefaultprofile" value="st_paymentcardonly">
<input type="hidden" name="currencyiso3a" value="GBP">
<input type="hidden" name="mainamount" value="100.00">
<input type="hidden" name="billingfirstname" value="Jay">
<input type="hidden" name="billinglastname" value="Doe">
<input type="hidden" name="billingemail " value="customer@email.com">
<input type="hidden" name="billingpremise" value="No 789">
<input type="hidden" name="billingstreet" value="Test Street">
<input type="hidden" name="billingtown" value="Bangor">
<input type="hidden" name="billingcounty" value="Gwynedd">
<input type="hidden" name="billingpostcode" value="TR45 6ST">
<input type="hidden" name="billingcountryiso2a " value="GB">
<input type="hidden" name="customeraccountnumber" value="{{Recipient card or account number}}">
<input type="hidden" name="customeraccountnumbertype" value="{{Recipient account type}}">
<input type="hidden" name="customercountryiso2a" value="GB">
<input type="hidden" name="customerdob" value="1990-01-01">
<input type="hidden" name="customerlastname" value="Bloggs">
<input type="hidden" name="customerpostcode" value="TR45 6ST">
<input type="hidden" name="version" value="2">
<input type="submit" value="Pay">
</form>
</body>
</html>
Vervang <DOMAIN>
met een ondersteund domein. Klik hier voor een volledige lijst.
Je moet de payload binnen je JWT bijwerken met de volgende velden (alleen van toepassing op AUTH en ACCOUNTCHECK verzoektypen):
Veld | Formaat | Beschrijving | |
customeraccountnumber | Numeriek (20) |
Als het type rekeningnummer "ACCOUNT", het rekeningnummer van de primaire ontvanger.
Als het type rekeningnummer "CARD", het kaartnummer van de primaire ontvanger. Wanneer de customeraccountnumber waarde in het verzoek een kaartnummer is, wordt dit gemaskeerd (bijv. "559139######0504") in het antwoord, wanneer het wordt weergegeven in Portal en geretourneerd in URL-kennisgeving(s) (indien ingeschakeld). Vereist indien MCC 6012 is. |
|
customeraccountnumbertype | Alfa (7) |
Ofwel "CARD" of "ACCOUNT". Wanneer de customeraccountnumber waarde in het verzoek een kaartnummer is, zal de customeraccountnumbertype waarde in het antwoord, wanneer weergegeven in Portal en geretourneerd in URL-kennisgeving(s) (indien ingeschakeld): "CARD". Vereist indien MCC 6012 is. |
|
customerdob | Datum JJJJ-MM-DD |
De geboortedatum van de primaire ontvanger. Vereist indien MCC 6012 is. |
|
customerlastname | Alfanumeriek, inclusief symbolen (127) |
De achternaam van de primaire ontvanger. Vereist indien MCC 6012 is. |
|
customerpostcode | Alfanumeriek (25) |
De postcode van de primaire ontvanger
Dit moet een geldige Britse postcode zijn. Vereist indien MCC 6012 is. |
|
customercountryiso2a | Alpha (2) |
Het land van de klant in iso2a-formaat. Hoewel dit niet verplicht is, raden we aan om het land op te nemen in de JWT, omdat dit ons in staat stelt om de customerpostcode. |
De volgende payload voorbeeld bevat de door Visa en Mastercard verplichte velden voor handelaren met categoriecode 6012:
{
"payload":{
"accounttypedescription":"ECOM",
"baseamount":"1050",
"currencyiso3a":"GBP",
"customeraccountnumber":"{{Recipient card or account number}}",
"customeraccountnumbertype":"{{Recipient account type}}",
"customercountryiso2a":"GB",
"customerdob":"1990-01-01",
"customerlastname":"Bloggs",
"customerpostcode":"TR45 6ST",
"requesttypedescriptions":["THREEDQUERY","AUTH"],
"sitereference":"test_site12345"
},
"iat":1559033849,
"iss":"jwt.user"
}
Je moet de payload binnen je JWT bijwerken met de volgende velden (alleen van toepassing op AUTH en ACCOUNTCHECK verzoektypen):
Veld | Formaat | Beschrijving | |
customeraccountnumber | Numeriek (20) |
Als het type rekeningnummer "ACCOUNT", het rekeningnummer van de primaire ontvanger.
Als het type rekeningnummer "CARD", het kaartnummer van de primaire ontvanger. Wanneer de customeraccountnumber waarde in het verzoek een kaartnummer is, wordt dit gemaskeerd (bijv. "559139######0504") in het antwoord, wanneer het wordt weergegeven in Portal en geretourneerd in URL-kennisgeving(s) (indien ingeschakeld). Vereist indien MCC 6012 is. |
|
customeraccountnumbertype | Alfa (7) |
Ofwel "CARD" of "ACCOUNT". Wanneer de customeraccountnumber waarde in het verzoek een kaartnummer is, zal de customeraccountnumbertype waarde in het antwoord, wanneer weergegeven in Portal en geretourneerd in URL-kennisgeving(s) (indien ingeschakeld): "CARD". Vereist indien MCC 6012 is. |
|
customerdob | Datum JJJJ-MM-DD |
De geboortedatum van de primaire ontvanger. Vereist indien MCC 6012 is. |
|
customerlastname | Alfanumeriek, inclusief symbolen (127) |
De achternaam van de primaire ontvanger. Vereist indien MCC 6012 is. |
|
customerpostcode | Alfanumeriek (25) |
De postcode van de primaire ontvanger
Dit moet een geldige Britse postcode zijn. Vereist indien MCC 6012 is. |
|
customercountryiso2a | Alpha (2) |
Het land van de klant in iso2a-formaat. Hoewel dit niet verplicht is, raden we aan om het land op te nemen in de JWT, omdat dit ons in staat stelt om de customerpostcode. |
De volgende payload voorbeeld bevat de door Visa en Mastercard verplichte velden voor handelaren met categoriecode 6012:
{
"payload":{
"accounttypedescription":"ECOM",
"baseamount":"1050",
"currencyiso3a":"GBP",
"customeraccountnumber":"{{Recipient card or account number}}",
"customeraccountnumbertype":"{{Recipient account type}}",
"customercountryiso2a":"GB",
"customerdob":"1990-01-01",
"customerlastname":"Bloggs",
"customerpostcode":"TR45 6ST",
"requesttypedescriptions":["THREEDQUERY","AUTH"],
"sitereference":"test_site12345",
"termurl":"https://payments.securetrading.net/process/payments/mobilesdklistener"
},
"iat":1559033849,
"iss":"jwt.user"
}
U moet de verzoeken AUTH en ACCOUNTCHECK bijwerken om de volgende velden op te nemen:
Veld | Formaat | Beschrijving | |
customeraccountnumber XPath: /customer/accountnumber |
Numeriek (20) |
Als het type rekeningnummer "ACCOUNT", het rekeningnummer van de primaire ontvanger.
Als het type rekeningnummer "CARD", het kaartnummer van de primaire ontvanger. Wanneer de customeraccountnumber waarde in het verzoek een kaartnummer is, wordt dit gemaskeerd (bijv. "559139######0504") in het antwoord, wanneer het wordt weergegeven in Portal en geretourneerd in URL-kennisgeving(s) (indien ingeschakeld). Vereist indien MCC 6012 is. |
|
customeraccountnumbertype XPath: /customer/accountnumber/@type |
Alfa (7) |
Ofwel "CARD" of "ACCOUNT". Wanneer de customeraccountnumber waarde in het verzoek een kaartnummer is, zal de customeraccountnumbertype waarde in het antwoord, wanneer weergegeven in Portal en geretourneerd in URL-kennisgeving(s) (indien ingeschakeld): "CARD". Vereist indien MCC 6012 is. |
|
customerdob XPath: /customer/dob |
Datum JJJJ-MM-DD |
De geboortedatum van de primaire ontvanger. Vereist indien MCC 6012 is. |
|
customerlastname XPath: /customer/name/last |
Alfanumeriek, inclusief symbolen (127) |
De achternaam van de primaire ontvanger. Vereist indien MCC 6012 is. |
|
customerpostcode XPath: /customer/postcode |
Alfanumeriek (25) |
De postcode van de primaire ontvanger
Dit moet een geldige Britse postcode zijn. Vereist indien MCC 6012 is. |
|
customercountryiso2a XPath: /customer/country |
Alpha (2) |
Het land van de klant in iso2a-formaat. Hoewel dit niet verplicht is, raden we aan om het land in het verzoek op te nemen, zodat we het correct kunnen valideren. customerpostcode. |
Het volgende AUTH aanvraagvoorbeeld bevat de velden die verplicht zijn via Visa en Mastercard voor verkopers met categoriecode 6012:
#!/usr/bin/python
import securetrading
stconfig = securetrading.Config()
stconfig.username = "webservices@example.com"
stconfig.password = "Password1^"
st = securetrading.Api(stconfig)
auth = {
"accounttypedescription": "MOTO",
"baseamount": "1050",
"currencyiso3a": "GBP",
"customeraccountnumber": "{{Recipient card or account number}}",
"customeraccountnumbertype": "{{Recipient account type}}",
"customercountryiso2a": "GB",
"customerdob": "1990-01-01",
"customerlastname": "Bloggs",
"customerpostcode": "TR45 6ST",
"expirydate": "12/2030",
"pan": "4111111111111111",
"requesttypedescriptions": ["AUTH"],
"securitycode": "123",
"sitereference": "test_site12345"
}
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' => 'MOTO',
'baseamount' => '1050',
'currencyiso3a' => 'GBP',
'customeraccountnumber' => '{{Recipient card or account number}}',
'customeraccountnumbertype' => '{{Recipient account type}}',
'customercountryiso2a' => 'GB',
'customerdob' => '1990-01-01',
'customerlastname' => 'Bloggs',
'customerpostcode' => 'TR45 6ST',
'expirydate' => '12/2030',
'pan' => '4111111111111111',
'requesttypedescriptions' => array('AUTH'),
'securitycode' => '123',
'sitereference' => 'test_site12345'
);
$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": "MOTO",
"baseamount": "1050",
"currencyiso3a": "GBP",
"customeraccountnumber": "{{Recipient card or account number}}",
"customeraccountnumbertype": "{{Recipient account type}}",
"customercountryiso2a": "GB",
"customerdob": "1990-01-01",
"customerlastname": "Bloggs",
"customerpostcode": "TR45 6ST",
"expirydate": "12/2030",
"pan": "4111111111111111",
"requesttypedescriptions": ["AUTH"],
"securitycode": "123",
"sitereference": "test_site12345"
}]
}'
{
"alias":"webservices@example.com",
"version":"1.00",
"request":[{
"accounttypedescription":"MOTO",
"baseamount":"1050",
"currencyiso3a":"GBP",
"customeraccountnumber":"{{Recipient card or account number}}",
"customeraccountnumbertype":"{{Recipient account type}}",
"customercountryiso2a":"GB",
"customerdob":"1990-01-01",
"customerlastname":"Bloggs",
"customerpostcode":"TR45 6ST",
"expirydate":"12/2030",
"pan":"4111111111111111",
"requesttypedescriptions":["AUTH"],
"securitycode":"123",
"sitereference":"test_site12345"
}]
}
<requestblock version="3.67">
<alias>webservices@example.com</alias>
<request type="AUTH">
<billing>
<amount currencycode="GBP">1050</amount>
<payment>
<expirydate>12/2030</expirydate>
<pan>4111111111111111</pan>
<securitycode>123</securitycode>
</payment>
</billing>
<customer>
<accountnumber type="{{Recipient account type}}">{{Recipient card or account number}}</accountnumber>
<country>GB</country>
<dob>1990-01-01</dob>
<name>
<last>Bloggs</last>
</name>
<postcode>TR45 6ST</postcode>
</customer>
<operation>
<accounttypedescription>MOTO</accounttypedescription>
<sitereference>test_site12345</sitereference>
</operation>
</request>
</requestblock>
Vervang <DOMAIN>
met een ondersteund domein. Klik hier voor een volledige lijst.