آموزش اتصال به درگاه زرین پال با php + سورس (ویدیویی)

آموزش اتصال به درگاه زرین پال با php + سورس (ویدیویی)

اتصال زرین پال با php – در این آموزش قصد داریم تا با استفاده از restful api که زرین پال در اختیار مان می گذارد صفحه پرداختی را ساخته و پس از پرداخت آن را تایید یا رد کنیم .

کار با api زرین پال بسیار ساده و روان است و کافی است این مقاله را مطالعه کنید تا بعد از آن به راحتی صفحه پرداخت خود را پیاده سازی کنید .

آموزش ویدیویی اتصال به زرین پال با PHP

لینک یوتیوب این آموزش .

ابتدا نیاز است که در زرین پال عضو شده و اطلاعات خود را وارد کنید تا به شما یک Merchant ID بدهد .

2 عمل اصلی request و verify در زرین پال

  1. با request در واقع اطلاعاتی از جمله merchant و هزینه پرداختی و … را ارسال می کنیم تا یک authority دریافت کنیم و پس از دریافت لینک پرداختی را ساخته و کاربر را به آن هدایت کنیم .
  2. با verify پس از این که کاربر از صفحه پرداخت مجدد به صفحه خودمان برگشت اطلاعاتی که رزین پال در query string به ما می دهد را گرفته و از آن استفاده می کنیم : از جمله authority که خیلی مهم است .


1- عمل request زرین پال ( فایل index.php )

دریافت مبلغ پرداختی و تنظیم اولیه اطلاعات جهت ارسال به زرین پال .

<?php
$GLOBALS['title'] = "رپید کد - آموزش اتصال به زرین پال در PHP";
require_once  $_SERVER['DOCUMENT_ROOT'] ."/parts/header.php";
?>

<form class="col-6 m-auto" action="" method="post">
<?php if(!empty($err_zarinpal)): ?>
    <p class="text-center p-2 rounded fw-bold bg-warning text-dark"><?= $err_zarinpal ?></p>
<?php endif; ?>
    <div class="input-group mb-3">
        <div class="input-group-prepend">
            <span class="input-group-text" id="basic-addon1">ریال</span>
        </div>
        <input type="number" class="form-control text-center mb-3" name="amount" placeholder="قیمت ...">
    </div>
    <input type="hidden" name="ref" value="zarinpal_request">
    <center><input type="submit" class="btn btn-success ps-3 pe-3" value="خرید"></center>
</form>


<?php
require_once $_SERVER['DOCUMENT_ROOT'] . "/parts/footer.php";
?>


و البته در بالای header.php توابع مورد نیاز مان را فراخوانی و همچنین در صورتی که از فرم index.php اطلاعاتی ارسال شد بررسی و اعتبار سنجی کرده و در صورت تایید کاربر را به صفحه پرداخت هدایت می کنیم .

<?php require_once $_SERVER['DOCUMENT_ROOT'] ."/inc/functions.php" ?>
<?php


if (!empty($_POST['ref'])) {
  
    if ($_POST['ref'] == "zarinpal_request") {
        if (!empty($_POST['amount']) && is_numeric($_POST['amount'])) {
            $res = requestZarinPal($_POST['amount'] , 194);
            $authority = $res['data']['authority'] ?? false;
            if ($res['data'] && $authority) {
                $url = payZarinPal($authority);
                header("Location: {$url}");
            } else {
                $err_zarinpal = "خطا در اتصال به زرین پال";
            }
        }
    }
}


?>


2- عمل verify زرین پال ( zarinpal.php )

این فایل زمانی استفاده می شود که کاربر از صفحه پرداخت هدایت می شود به سایت خودمان مجددا .

<?php
$GLOBALS['title'] = "رپید کد - آموزش اتصال به زرین پال در PHP";
require_once $_SERVER['DOCUMENT_ROOT'] . "/parts/header.php";

$authority = $_GET['Authority'] ?? null;
$amount = $_GET['amount'] ?? null;

$message = [
    "text" => "",
    "css_class" => ""
];


if ($authority && ($amount && is_numeric($amount))) {
    $res = verifyZarinPal($authority, $amount);

    /*
    $res['data']['code'] :
        100 -> Paid (first time page seen)
        101 -> Verified (second time or more)
    */

    if (!empty($res['data']['code']) && ($res['data']['code'] == 100 || $res['data']['code'] == 101)) {
        $amount_currency = $amount/10 . " تومان";
        $message['text'] = "خرید موفق به مبلغ {$amount_currency}";
        $message['css_class'] = "bg-success text-white";
    } else {
        $message['text'] = "خرید ناموفق";
        $message['css_class'] = "bg-danger";
    }
} else {
    $message['text'] = "پارامتر نامعتبر";
    $message['css_class'] = "bg-danger";
}

?>

<p class="text-center p-2 rounded fw-bold <?= $message['css_class'] ?>"><?= $message['text'] ?></p>


<?php
require_once $_SERVER['DOCUMENT_ROOT'] . "/parts/footer.php";
?>


خروجی برنامه پرداخت زرین پال

اتصال به زرین پال در PHP


چند نکته قبل از استفاده از سورس :

  1. وارد functions شده و مقدار ZARINPAL_MERCHANT_ID را مطابق با مرچنت خود وارد کنید
  2. مقدار example.com در requestZarinPal را دامنه خود بدهید .

دانلود سورس اتصال به زرین پال در php

ارسال نظر

جهت استفاده از کد حتما از تگ pre استفاده نمایید .

لیست نظرات

  1. طاهااکرمی
    طاهااکرمی

    واقعا عالیییییییییییییی

    14 آبان 1401 | 19:44:13
contact us