Búsquedas
Openpay permite filtrar búsquedas de pagos , cargos , clientes , transferencias , tarjetas , cuentas bancarias , planes , suscripciones , comisiones , webhooks y tiendas mediante el api, de la manera en la que se muestra en los enlaces.
Adicional a esto existen dos búsquedas especiales que pueden realizarse en base a los identificadores que el comercio generó y asoció en la plataforma de openpay, éstas son:
búsqueda de cargos en base al order_id
búsqueda de clientes mediante su external_id
Ambas se describen a continuación.
Buscar cargos por order_id
Recordemos que éste atributo fue proporcionado por el comercio cuando creó el cargo en openpay, y es un valor único para dicho comercio.
Para este ejemplo vamos a buscar un cargo al cual se identifica como my-oid-0001 .
curl -u sk_e568c42a6c384b7ab02cd47d2e407cab \
-H "Content-type: application/json" \
} ' https://sandbox-api.openpay.mx/v1/mzdtln0bmtms6o3kck8f/charges?order_id= my-oid-0001
<?php
$openpay = Openpay :: getInstance ( 'mzdtln0bmtms6o3kck8f' ,
'sk_e568c42a6c384b7ab02cd47d2e407cab' );
$findDataRequest = array (
'order_id' => 'my-oid-0001'
);
$chargeList = $openpay -> charges -> getList ( $findDataRequest );
?>
OpenpayAPI api = new OpenpayAPI ( "https://sandbox-api.openpay.mx" ,
"sk_e568c42a6c384b7ab02cd47d2e407cab" , "mzdtln0bmtms6o3kck8f" );
SearchParams request = new SearchParams ();
request . orderId ( "my-oid-0001" );
List < Charge > charges = api . charges (). list ( request );
OpenpayAPI api = new OpenpayAPI ( "sk_e568c42a6c384b7ab02cd47d2e407cab" , "mzdtln0bmtms6o3kck8f" );
SearchParams request = new SearchParams ();
request . OrderId = "my-oid-0001" ;
List < Charge > charges = api . ChargeService . List ( request );
var searchParams = {
'orderId' : 'my-oid-0001'
};
openpay . charges . list ( searchParams , function ( error , chargeList ) {
// ...
});
@openpay = OpenpayApi . new ( "mzdtln0bmtms6o3kck8f" , "sk_e568c42a6c384b7ab02cd47d2e407cab" )
@charges = @openpay . create ( :charges )
request_hash = {
"orderId" => "my-oid-0001"
}
response_hash = @charges . all ( request_hash . to_hash )
Si la llamada es correcta y encuentra dicho cargo, entonces se regresará un respuesta con un objeto transaccion representado de acuerdo al lenguaje de la librería utilizada.
Respuesta:
[
{
"id" : "tryqihxac3msedn4yxed" ,
"amount" : 100.00 ,
"authorization" : "801585" ,
"method" : "card" ,
"operation_type" : "in" ,
"transaction_type" : "charge" ,
"card" :{
"type" : "debit" ,
"brand" : "visa" ,
"address" : null ,
"card_number" : "411111XXXXXX1111" ,
"holder_name" : "Juan Perez Ramirez" ,
"expiration_year" : "20" ,
"expiration_month" : "12" ,
"allows_charges" : true ,
"allows_payouts" : true ,
"bank_name" : "Banamex" ,
"bank_code" : "002"
},
"status" : "completed" ,
"currency" : "MXN" ,
"creation_date" : "2014-05-26T14:00:17-05:00" ,
"operation_date" : "2014-05-26T14:00:17-05:00" ,
"description" : "Cargo inicial a mi cuenta" ,
"error_message" : null ,
"order_id" : my-oid -0001 ,
"customer_id" : "ag4nktpdzebjiye1tlze"
}
]
Buscar clientes por external_id
Recordemos que éste atributo fue proporcionado por el comercio cuando creó al cliente en openpay, y es un valor único para dicho comercio.
Para este ejemplo vamos a buscar un cliente al cual se identifica como myBestClient001 .
curl -u sk_e568c42a6c384b7ab02cd47d2e407cab \
-H "Content-type: application/json" \
} ' https://sandbox-api.openpay.mx/v1/mzdtln0bmtms6o3kck8f/customers?external_id= myBestClient001
<?php
$openpay = Openpay :: getInstance ( 'mzdtln0bmtms6o3kck8f' ,
'sk_e568c42a6c384b7ab02cd47d2e407cab' );
$findDataRequest = array (
'external_id' => 'myBestClient001'
);
$customerList = $openpay -> customers -> getList ( $findDataRequest );
?>
OpenpayAPI api = new OpenpayAPI ( "https://sandbox-api.openpay.mx" ,
"sk_e568c42a6c384b7ab02cd47d2e407cab" , "mzdtln0bmtms6o3kck8f" );
SearchParams request = new SearchParams ();
request . externalId ( "myBestClient001" );
List < Customer > customers = api . customers (). list ( request );
OpenpayAPI api = new OpenpayAPI ( "sk_e568c42a6c384b7ab02cd47d2e407cab" , "mzdtln0bmtms6o3kck8f" );
SearchParams request = new SearchParams ();
request . ExternalId = "myBestClient001" ;
List < Customer > customers = api . CustomerService . List ( request );
var searchParams = {
'externalId' : 'myBestClient001'
};
openpay . customers . list ( searchParams , function ( error , list ) {
// ...
});
@openpay = OpenpayApi . new ( "mzdtln0bmtms6o3kck8f" , "sk_e568c42a6c384b7ab02cd47d2e407cab" )
@customers = @openpay . create ( :customers )
request_hash = {
"externalId" => "myBestClient001"
}
response_hash = @customers . all ( request_hash . to_hash )
Si la llamada es correcta y encuentra dicho cliente, entonces se regresará un respuesta con un objeto cliente representado de acuerdo al lenguaje de la librería utilizada.
Respuesta:
[
{
"id" : "anbnldwgni1way3yp2dw" ,
"name" : "customer name" ,
"last_name" : customer last name ,
"email" : "customer_email@me.com" ,
"phone_number" : "44209087654" ,
"address" :{
"line1" : "Calle 10" ,
"line2" : "col. san pablo" ,
"line3" : "entre la calle 1 y la 2" ,
"state" : "Queretaro" ,
"city" : "Queretaro" ,
"postal_code" : "76000" ,
"country_code" : "MX"
},
"store" : {
"reference" : "OPENPAY02DQ35YOY7" ,
"barcode_url" : "https://sandbox-api.openpay.mx/barcode/OPENPAY02DQ35YOY7?width=1&height=45&text=false"
},
"clabe" : "646180109400423323" ,
"creation_date" : "2014-05-20T16:47:47-05:00" ,
"external_id" : "myBestClient001"
}
]