Как правильно структурировать запрос на API PhonePe Auto-Debit (/v3/Recurring/debit/init)?Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как правильно структурировать запрос на API PhonePe Auto-Debit (/v3/Recurring/debit/init)?

Сообщение Anonymous »

Я интегрирую API API PhonePe (AUTO-Debit (/v3/recurring/debit/init), но продолжайте получать следующий ответ ошибки:
{
"status": "error",
"message": "Please check the inputs you have provided. [message = Incorrect Request.]"
}
< /code>
Запрос полезной нагрузки: < /p>
{
"merchantId": "MID12345",
"merchantUserId": "U123456789",
"subscriptionId": "OMS2006110139450123456789",
"transactionId": "TX1234567890",
"autoDebit": true,
"amount": 39900
}
< /code>
x-Verify, формат полезной нагрузки правильный или неправильный? Мне нужно разъяснения о том, отсутствует ли моя полезная нагрузка на запрос в каких-либо необходимых полях или неверна сигнатура x-Verify . Любое руководство будет оценено. Например, ₹ 399,00 = 39900). < /li>
Протестировано в почтальце с использованием жестких значений. < /li>
Проверенный формат подписки на Убедитесь, что правильность. < /li>
Сгенерировал хэш x-Verify в соответствии с документацией PhonePe. > < /ul>
Ожидаемый результат: я ожидал успешного ответа API с деталями транзакции. < /p>
Вот минимальный воспроизводимый пример для моего Выпуск: < /p>
$apiKey = 'your_salt_key';
$baseUrl = '``https://mercury-t2.phonepe.com``';
$subscriptionId = 'SUB123456';
$transactionId = 'TX' . strtoupper(bin2hex(random_bytes(8))); // Generate unique transaction ID
$amount = 10000; // Amount in paise (₹100)
$callurl = "https://yourdomain.com/api/phonepe/callback"

// Request payload
$authPayload_1 = [
'merchantId' => 'your_merchant_id',
'merchantUserId' => 'your_merchant_id',
'subscriptionId' => $subscriptionId,
'transactionId' => $transactionId,
'autoDebit' => true,
'amount' => $amount,
];
$base64Payload = base64_encode(json_encode($authPayload_1));
$payloadHash_1 = $base64Payload . '/v3/recurring/debit/init' . $apiKey;
$checksum_a = hash('sha256', $payloadHash_1);
$xVerifyy = $checksum_a . '###' . 'your_salt_index';

$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => $baseUrl . '/v3/recurring/debit/init',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => json_encode(['request' => $base64Payload]),
CURLOPT_HTTPHEADER => [
'Content-Type: application/json',
'X-VERIFY: ' . $xVerifyy,
'X-CALLBACK-URL: '.$callurl

],
]);

$response = curl_exec($curl);
$httpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);

$responseData = json_decode($response, true);
var_dump($responseData);```



Подробнее здесь: https://stackoverflow.com/questions/794 ... ecurring-d
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»