Recursos para IA
Recibir pagos siendo PCI Compliant
Mercado Pago permite a vendedores que cumplen con las normativas PCI, tokenizar las tarjetas por backend.
Es necesario crear un card_token, el cual es la representación segura de la tarjeta:
using mercadopago;
using System;
using System.Collections;
MP mp = new MP("ACCESS_TOKEN");
Hashtable card_token = mp.post("/v1/card_tokens", "{"+
"'card_number': '450995xxxxxx3704',"+
"'security_code': '123',"+
"'expiration_month': 6,"+
"'expiration_year': 2018,"+
"'cardholder': {"+
"'name': 'APRO',"+
"'identification': {"+
"'number': '12345678',"+
"'type': 'DNI'"+
"}"+
"}"+
"}");
import com.mercadopago.MP;
import org.codehaus.jettison.json.JSONObject;
MP mp = new MP ("ACCESS_TOKEN");
JSONObject payment = mp.post("/v1/card_tokens", "{"+
"'card_number': '450995xxxxxx3704',"+
"'security_code': '123',"+
"'expiration_month': 6,"+
"'expiration_year': 2018,"+
"'cardholder': {"+
"'name': 'APRO',"+
"'identification': {"+
"'number': '12345678',"+
"'type': 'DNI',"+
"}"+
"}"+
"}");
var MP = require ("mercadopago");
var mp = new MP ("ACCESS_TOKEN");
var doCardToken = mp.post ("/v1/card_tokens",
"card_number": "450995xxxxxx3704",
"security_code": "123",
"expiration_month": 6,
"expiration_year": 2018,
"cardholder": {
"name": "APRO",
"identification": {
"number": "12345678",
"type": "DNI"
}
});
doCardToken.then (
function (payment) {
console.log (payment);
},
function (error){
console.log (error);
});
<?php
require ('mercadopago.php');
$mp = new MP('ACCESS_TOKEN');
$card_token_data = array(
"card_number" => "450995xxxxxx3704",
"security_code" => "123",
"expiration_month" => 6,
"expiration_year" => 2018,
"cardholder" => array(
"name" => "APRO",
"identification" => array(
"number" => "12345678",
"type" => "DNI"
)
)
);
$card_token = $mp->post("/v1/card_tokens", $card_token_data);
?>
import mercadopago
sdk = mercadopago.SDK("ACCESS_TOKEN")
data = {
"card_number": "450995xxxxxx3704",
"security_code": "123",
"expiration_month": 6,
"expiration_year": 2018,
"cardholder": {
"name": "APRO",
"identification": {
"number": "12345678",
"type": "DNI"
}
}
}
card_token_response = sdk.card_token().create(data)
card_token = card_token_response["response"]
print(json.dumps(card_token, indent=4))
require 'mercadopago'
sdk = Mercadopago::SDK.new('ENV_ACCESS_TOKEN')
card_token_data = {
card_number: '450995xxxxxx3704',
security_code: '123',
expiration_month: 6,
expiration_year: 2025,
cardholder: {
name: 'APRO',
identification: {
number: '12345678',
type: 'DNI'
}
}
}
card_token_response = sdk.card_token.create(card_token_data)
card_token = card_token_response[:response]
puts card_token
Response
json{ "id": "ff8080814cbd77a8014cc", "public_key": null, "card_id": null, "luhn_validation": true, "status": "active", "date_used": null, "card_number_length": 16, "date_created": "2015-04-16T13:06:25.525-04:00", "first_six_digits": "450995", "last_four_digits": "3704", "security_code_length": 3, "expiration_month": 6, "expiration_year": 2018, "date_last_updated": "2015-04-16T13:06:25.525-04:00", "date_due": "2015-04-24T13:06:25.531-04:00", "live_mode": false, "cardholder": { "identification": { "number": "12345678", "type": "type" }, "name": "name" } }
Una vez hayas obtenido el Card Token de la tarjeta, puedes crear el pago.