Created
March 20, 2017 11:45
-
-
Save italoveloso/67a9ba7d08f29582e20e58cc5ca6d276 to your computer and use it in GitHub Desktop.
Pagar.me card_id
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
require ("pagarme-php/Pagarme.php"); | |
$apikey = ""; | |
$encryption_key = ""; | |
Pagarme::setApiKey($apikey); | |
$info_card_array = [ | |
'card_number' => '4024007116225755', | |
'card_holder_name' => 'ANDREW BECKER', | |
'card_expiration_date' => '0917', | |
'card_cvv' => '632']; | |
$info_card_array = [ | |
'card_number' => '4102652740863151', | |
'card_holder_name' => 'MIGUEL SAMUELS', | |
'card_expiration_date' => '0119', | |
'card_cvv' => '262']; | |
$info_card_array = [ | |
'card_number' => '4797734470555221', | |
'card_holder_name' => 'MORGAN GIMSON', | |
'card_expiration_date' => '0218', | |
'card_cvv' => '634']; | |
// Tranformaçao de array para uma query http | |
$info_card_query = http_build_query($info_card_array); | |
// Substitui o caractere + por %20 | |
$info_card_string = str_ireplace("+", '%20', $info_card_query); | |
//var_dump($info_card_string); | |
// Requisicao para pegar a chave publica | |
$cmd = "curl -X GET https://api.pagar.me/1/transactions/card_hash_key \ | |
-d 'encryption_key=".$encryption_key."' \ "; | |
$data = exec($cmd); | |
// Transformacao string em objeto | |
$obj_data = json_decode($data); | |
// Criptografia RSA | |
openssl_public_encrypt($info_card_string, $crypted, $obj_data->public_key, OPENSSL_PKCS1_PADDING); | |
// Base64 | |
$string_base64 = base64_encode($crypted); | |
// Construcao do formato card_hash | |
$card_hash = $obj_data->id . "_" . $string_base64; | |
// Impressao do card_hash | |
$card = new PagarMe_Card(array( | |
'card_hash' => $card_hash | |
)); | |
$card->create(); | |
$card_id = $card->id; | |
// Quardar o card_id para futuras transacoes | |
print("\n CARD ID \n"); | |
print_r($card_id."\n"); | |
// Iniciar transacao de assinatura de para efeito de teste do card_hash gerado | |
$subscription = new PagarMe_Subscription(array( | |
'plan' => PagarMe_Plan::findById("138745"), | |
'card' => PagarMe_Card::findById($card->id), | |
'customer' => [ | |
'document_number'=>'18152564000105', | |
'name' => 'KoK', | |
'email' => '[email protected]', | |
'born_at' => '13121988', | |
'address' =>[ | |
'zipcode'=>'05444040', | |
'neighborhood' => 'pinheiros', | |
'street' => 'rua qualquer', | |
'street_number' => '13', | |
], | |
'phone' => [ | |
'ddi'=>'55', | |
'ddd'=>'11', | |
'number'=>'999887766' | |
] | |
] | |
)); | |
$subscription->create(); | |
print("subscription"); | |
print_r($subscription); | |
?> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment