Ejemplo de cómo obtener la información de una deuda utilizando el API.
Harías este llamada cuando deseas consultar el estado de pago de una deuda que creaste. Normalmente no es necesaria esta llamada porque AdamsPay notificará a tu webhook cuando una deuda cambie de estado.
Llamadas al API | Ciclo de cobro
<?php $idDeuda = 'demo001'; $apiUrl = 'https://staging.adamspay.com/api/v1/debts/' . $idDeuda; $apiKey = 'tu-api-key'; $curl = curl_init(); curl_setopt_array($curl,[ CURLOPT_URL => $apiUrl, CURLOPT_HTTPHEADER => ['apikey: '.$apiKey], CURLOPT_RETURNTRANSFER => true ]); $response = curl_exec($curl); if( $response ){ $data = json_decode($response,true); // Verificar estado de pago $debt = isset($data['debt']) ? $data['debt'] : null; if( $debt ){ $payUrl = $debt['payUrl']; $label = $debt['label']; $objStatus = $debt['objStatus']['status']; $payStatus = $debt['payStatus']['status']; $isActive = false !== array_search($objStatus,['active','alert','success']); $isPaid =$payStatus === 'paid'; echo "Deuda encontrada, URL=$payUrl\n"; echo "Concepto: $label\n"; echo "Activa: ",($isActive?'Si':'No'),"\n"; echo "Pagada: "; if( $isPaid ){ $payTime = $debt['payStatus']['time']; echo "Si, en fecha $payTime\n"; } else { echo "No\n"; } } else { echo "No se pudo obtener datos de la deuda\n"; print_r($data['meta']); } } else { echo 'curl_error: ',curl_error($curl); } curl_close($curl);
import http.client import json import pprint import datetime apiKey = "tu-api-key" idDeuda = "demo001" host = "staging.adamspay.com" path = "/api/v1/debts/" + idDeuda headers = {"apikey": apiKey} conn = http.client.HTTPSConnection(host) conn.request("GET", path , "", headers) data = conn.getresponse().read().decode("utf-8") response = json.JSONDecoder().decode(data) pp = pprint.PrettyPrinter(indent=2) if "debt" in response: debt=response["debt"] payUrl = debt["payUrl"] label = debt["label"] objStatus = debt["objStatus"]["status"] payStatus = debt["payStatus"]["status"] isPaid = payStatus == "paid" isActive = objStatus == "active" or objStatus == "alert" or objStatus == "success" print("Deuda encontrada, URL=" + payUrl) print("Concepto: " + label) print("Activa: " + ("Si" if isActive else "No")) if isPaid: date = datetime.datetime.fromisoformat(debt["payStatus"]["time"]) payText = "Si, en fecha " + date.ctime() else: payText = "No" print("Pagada: " + payText) else: print("# Error") if "meta" in response: pp.pprint(response["meta"])