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.
<?php
$openpay = Openpay::getInstance('mzdtln0bmtms6o3kck8f',
'sk_e568c42a6c384b7ab02cd47d2e407cab');
$findDataRequest = array(
'order_id' => 'my-oid-0001'
);
$chargeList = $openpay->charges->getList($findDataRequest);
?>
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.
<?php
$openpay = Openpay::getInstance('mzdtln0bmtms6o3kck8f',
'sk_e568c42a6c384b7ab02cd47d2e407cab');
$findDataRequest = array(
'external_id' => 'myBestClient001'
);
$customerList = $openpay->customers->getList($findDataRequest);
?>
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"
}
]