SDK libraries

SDK PHP

webhooks भुगतान, सेटअप और सत्यापन लिंक के लिए PHP के लिए MakePay से आधिकारिक SDK इंस्टॉल करें।

MakePay PHP SDK

सिंहावलोकन

MakePay PHP SDK सर्वर-साइड MakePay एकीकरण के लिए एक हल्की संगीतकार लाइब्रेरी है। यह API-कुंजी प्रमाणीकरण, भुगतान-लिंक संचालन, MakePay सेटिंग्स और हस्ताक्षरित webhook सत्यापन को लपेटता है।

सार्वजनिक स्रोत भंडार:

https://github.com/makecryptoio/makepay-php-sdk

इंस्टालेशन

सार्वजनिक Git रिपॉजिटरी के माध्यम से कंपोज़र के साथ इंस्टॉल करें:

{
  "repositories": [
    {
      "type": "vcs",
      "url": "https://github.com/makecryptoio/makepay-php-sdk"
    }
  ],
  "require": {
    "makepay/makepay-php": "^0.1"
  }
}

फिर चलाएँ:

composer update makepay/makepay-php

प्रमाणीकरण

MakeCrypto मर्चेंट डेवलपर क्षेत्र से एक MakePay API कुंजी बनाएं और रहस्य को केवल सर्वर-साइड वातावरण चर में रखें।

use MakePay\Client;

$makepay = new Client([
    'keyId' => getenv('MAKEPAY_KEY_ID'),
    'keySecret' => getenv('MAKEPAY_KEY_SECRET'),
    // Optional: override only when MakePay gives you a custom checkout origin.
    'checkoutBaseUrl' => 'https://makepay.io',
]);

SDK X-MakeCrypto-Key-Id और X-MakeCrypto-Key-Secret हेडर को MakePay पार्टनर API को भेजता है।

भुगतान लिंक बनाएं

$response = $makepay->createPaymentLink([
    'title' => 'Order #1042',
    'description' => 'Checkout for order #1042',
    'amount' => '129.99',
    'currency' => 'USDT',
    'orderId' => 'order_1042',
    'customerEmail' => 'buyer@example.com',
    'returnUrl' => 'https://merchant.example/orders/1042',
    'successUrl' => 'https://merchant.example/orders/1042/success',
    'failureUrl' => 'https://merchant.example/orders/1042/pay',
    'expirationTime' => '12h',
]);

header('Location: ' . $response['paymentLink']['publicUrl']);

जब आप सृजन के हिस्से के रूप में ग्राहक को MakePay ईमेल करना चाहते हैं तो sendPaymentRequestEmail पास करें:

$makepay->createPaymentLink($payload, [
    'sendPaymentRequestEmail' => true,
]);

एंबेडेड चेकआउट

भुगतान लिंक बनाने के बाद PHP बैकएंड होस्ट किए गए लिंक, एम्बेडेड iframe URLs और HTML स्निपेट उत्पन्न कर सकता है।

$paymentUid = $response['paymentLink']['uid'];

$hostedUrl = $makepay->hostedCheckoutUrl($paymentUid);
$embedUrl = $makepay->embeddedCheckoutUrl($paymentUid, [
    'parentOrigin' => 'https://merchant.example',
]);

echo $makepay->embedButtonHtml($paymentUid, [
    'buttonLabel' => 'Pay with crypto',
]);

echo $makepay->iframeHtml($paymentUid, [
    'iframeTitle' => 'Secure MakePay checkout',
]);

प्रत्येक आईफ्रेम के बगल में एक होस्ट किए गए लिंक फ़ॉलबैक का उपयोग करें ताकि यदि ब्राउज़र, सीएमएस, या स्टोर थीम एम्बेडेड भुगतान पृष्ठों को ब्लॉक कर दे तो खरीदार जारी रख सकें।

लिंक पढ़ें और अपडेट करें

$links = $makepay->listPaymentLinks();
$detail = $makepay->getPaymentLink('PAYMENT_LINK_UID');

$makepay->updatePaymentLink('PAYMENT_LINK_UID', [
    'status' => 'paused',
]);

$makepay->sendPaymentRequestEmail(
    'PAYMENT_LINK_UID',
    'buyer@example.com'
);

सेटिंग्स

$settings = $makepay->getSettings();

$makepay->updateSettings([
    'callbackUrl' => 'https://merchant.example/webhooks/makepay',
]);

Webhook सत्यापन

MakePay सटीक कच्चे अनुरोध निकाय पर हस्ताक्षर करता है। JSON को पार्स करने से पहले php://input पढ़ें।

use MakePay\Webhook;

$rawBody = file_get_contents('php://input');
$signature = $_SERVER['HTTP_X_MAKEPAY_SIGNATURE'] ?? null;

$event = Webhook::parse(
    $rawBody,
    $signature,
    getenv('MAKEPAY_WEBHOOK_SECRET')
);

if (($event['event']['type'] ?? '') === 'status_changed') {
    // Update the local order.
}

http_response_code(200);
echo 'ok';

त्रुटि प्रबंधन

API त्रुटियाँ MakePay\MakePayException फेंकती हैं। अपवाद में HTTP स्थिति कोड और डिकोडेड प्रतिक्रिया निकाय शामिल है।

use MakePay\MakePayException;

try {
    $makepay->getPaymentLink('PAYMENT_LINK_UID');
} catch (MakePayException $error) {
    error_log($error->getMessage());
    error_log((string) $error->getStatusCode());
}

स्रोत लेआउट

विहित मोनोरेपो स्रोत apps/plugins/php-sdk में रहता है। सार्वजनिक भंडार केवल SDK फ़ाइलों को प्रतिबिंबित करता है ताकि डेवलपर्स पूर्ण MakeCrypto कार्यक्षेत्र के बिना इसे स्थापित या निरीक्षण कर सकें।

पार्टनर सेटअप में मदद चाहिए?

वास्तविक payment UID के लिए generated snippets कॉपी करने हेतु MakeCrypto में payment link details view खोलें, या merchant settings संभालने के लिए portal पर लौटें.

पोर्टल खोलें