function dlocal_link($params) { $apiKey = $params['api_key']; $apiSecret = $params['api_secret']; $isSandbox = $params['sandbox'] === 'on'; $endpoint = $isSandbox ? 'https://sandbox.dlocal.com/v1/payments' : 'https://api.dlocal.com/v1/payments'; $invoiceId = $params['invoiceid']; $amount = number_format((float)$params['amount'], 2, '.', ''); $currency = $isSandbox ? 'BRL' : 'PEN'; $country = $isSandbox ? 'BR' : 'PE'; $clientEmail = $params['clientdetails']['email']; $clientName = $params['clientdetails']['fullname']; // 🔐 payment_method_id es obligatorio en la mayoría de países $paymentMethodId = $isSandbox ? 'CARD' : 'LOCOBANK_PE'; // Cambia según lo habilitado en tu cuenta $payload = [ "amount" => $amount, "currency" => $currency, "country" => $country, "payment_method_flow" => "REDIRECT", "payment_method_id" => $paymentMethodId, "payer" => [ "name" => $clientName, "email" => $clientEmail, ], "external_id" => "INV-$invoiceId", "callback_url" => $params['systemurl'] . '/modules/gateways/callback/dlocal.php', "notification_url" => $params['systemurl'] . '/modules/gateways/callback/dlocal.php', ]; // ✅ Codifica sin slashes escapados para firmar correctamente $jsonPayload = json_encode($payload, JSON_UNESCAPED_SLASHES); $xDate = gmdate("Y-m-d\TH:i:s\Z"); $dataToSign = $xDate . '/v1/payments' . $jsonPayload; $xSignature = hash_hmac('sha256', $dataToSign, $apiSecret); $headers = [ 'Content-Type: application/json', 'X-Date: ' . $xDate, 'X-Login: ' . $apiKey, 'X-Signature: ' . $xSignature, ]; $ch = curl_init($endpoint); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonPayload); $response = curl_exec($ch); curl_close($ch); $result = json_decode($response, true); // 📝 Guarda todo en los logs de WHMCS logModuleCall( 'dlocal', 'payment_request', $jsonPayload, $response, $result, ['apiKey', 'apiSecret'] ); // ✅ Muestra botón si hay redirección if (isset($result['redirect_url'])) { return 'Pagar con dLocal'; } // ❌ Muestra mensaje de error detallado $errorMessage = isset($result['message']) ? $result['message'] : 'Respuesta no válida de dLocal.'; return '
Error: ' . $errorMessage . '
'; } مكتبة الشروحات - Your Best Dev Network
Your Best Dev Network Your Best Dev Network
  • شاهد العربة
  • USD
    USD
    PEN
  • حسابي
    • تسجيل الدخول
    • الإشتراك
    • -----
    • فقدت بيانات الدخول ؟
  • Products
    • Products
    • Hosting Web
    • EMAIL WORKSPACE
    • Reseller cPanel & WHM
    • Cloud VPS USA
    • Cloud VPS Alemania
    • Storage Cloud
    • Servidores dedicados AMD (Alemania)
    • Servidores dedicados Intel (Alemania)
    • Bigbluebutton
    • Adicionales
    • Servidores dedicados DC Miami
    • Minecraft Server
    • Email Hosting
    • COMBOS DE SERVICIOS
  • النطاقات
    • النطاقات
    • تسجيل نطاق جديد
    • نقل نطاق إلينا
    • -----
    • سعر الدومين
  • الموقع & الأمان
    • الموقع & الأمان
    • منشئ مواقع الويب
    • Website Security
    • شهادات SSL
    • SEO Tools
  • الدعم الفني
    • الدعم الفني
    • راسلنا
    • -----
    • حالة الشبكة
    • مكتبة الشروحات
    • أخبار
  • شاهد العربة
  • USD
    USD
    PEN
  • حسابي
    • تسجيل الدخول
    • الإشتراك
    • -----
    • فقدت بيانات الدخول ؟

مكتبة الشروحات

  1. البوابة الرئيسية
  2. مكتبة الشروحات
  وسوم
Revendedores Revendedores full Revendedores yourbestdev Mailchannels cPanel Anuncio Comunicado Mejora
  الدعم الفني
تذاكر الدعم الفني أخبار وإعلانات مكتبة الشروحات مكتبة الملفات حالة الشبكة فتح تذكرة

أقسام الشروحات

Anuncios (1)
Correos Electrónicos (1)
cPanel (1)

Esta categoría esta especialmente dedicada a resolver dudas sobre el uso de cPanel.

Dominios (1)

Esta categoría esta especialmente dedicada a resolver dudas sobre los dominios.

الأكثر زيارة

Tiempo de Propagación DNS: ¿Cuánto Tiempo se Tarda en Reflejar un Cambio de Dominio?

Cuando se trata de trasladar un sitio web a un nuevo servidor o cambiar la configuración de DNS...

Lanzamiento de Memcached para todos los servidores cPanel

YourBestDev Network ahora es compatible con Memcached para mejorar el rendimiento a través del...

Desmitificando los Registros DKIM, DMARC, SPF y MX: Protege tu Correo Electrónico

En un mundo digital cada vez más interconectado, la seguridad del correo electrónico es esencial....

¡Mejoras en nuestro servicio de web hosting y nuevos beneficios!

Querido/a miembro de YBD TEAM, Esperamos que te encuentres muy bien. En YourBestDev Network,...

Copyright © 2025 Your Best Dev Network. All Rights Reserved.
  • العربية
    العربية
    Azerbaijani
    Català
    中文
    Hrvatski
    Čeština
    Dansk
    Nederlands
    English
    Estonian
    Persian
    Français
    Deutsch
    עברית
    Magyar
    Italiano
    Macedonian
    Norwegian
    Português
    Português
    Română
    Русский
    Español
    Svenska
    Türkçe
    Українська
    لا توجد نتائج

Generate Password
Please enter a number between 8 and 64 for the password length