1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/jialeo-payment

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Alipay.md 4.4 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 03.03.2025 14:20 b8c54e0

Алипай

Конфигурация


$config = array(
    // Алипай выделяет приложению ID, которое было предоставлено разработчику
    'app_id' => '',
    
    // Тип подписи, в настоящее время поддерживаются только RSA2
    'sign_type' => 'RSA2',
    
    // Ключ публичного сертификата Алипай (путь до файла или ключ, пожалуйста, заполните абсолютный путь)
    'ali_public_key' => '/your/path/cert/alipay/alipay_rsa_public_key.pem',
    
    // Личный ключ пользователя (путь до файла или ключ, пожалуйста, заполните абсолютный путь)
    'rsa_private_key' => '/your/path/cert/alipay/alipay_rsa_private_key.pem',
    );
),

Интерактивные платежи

  1. Определение устройства для выбора экземпляра

    Веб-страница

    $alipay = new \JiaLeo\Payment\Alipay\WebPay($config);

    Mobile Web (мобильная веб-страница)

    $alipay = new \JiaLeo\Payment\Alipay\WapPay($config);

    App

    $alipay = new \JiaLeo\Payment\Alipay\AppPay($config);
  2. Установка параметров платежа

    Пример кода:

    $pay_data = array(
        'body' => $data['body'], // содержание
        'subject' => $data['subject'], // заголовок
        'out_trade_no' => $out_trade_no, // номер заказа продавца
        'timeout_express' => '30m', // диапазон значений: 1m~15d. m - минуты, h - часы, d - дни, 1c - день
        'total_amount' => $data['amount'], // сумма платежа (единица: центы)
        'passback_params' => $alipay->setPassbackParams($return_params), // дополнительные поля, передаются обратно
        'notify_url' => 'http://domain/api/alipay/notifies', // адрес обратной связи сервера
        'return_url' => 'http://domain/api/alipay/success' // адрес перехода после успешного платежа
    );
    
  3. Вызов функции выполнения

    Пример кода:

    $url = $alipay->handle($pay_data);
    
    if ($data['device'] == 'app') {
        return $url;
    } else {
        return redirect($url);
    }
  4. Обработка обратной связи от Алипай

    $alipay = new \JiaLeo\Payment\Alipay\Notify($config);
    
    try {
        // проверка подписи
        $data = $alipay->handle();
    }
    catch (\Exception $e) {
        $error_msg = $e->getMessage();
        $alipay->returnFailure();
    }

Возврат средств

Пример кода:

try{
$refund_data = [
'out_request_no' => $out_refund_no, // номер заказа возврата
'refund_amount' => $refund_amount, // сумма возврата (единица: центы)
'out_trade_no' => $out_trade_no, // номер заказа
];
$res = $alipay_refund->handle($refund_data);

} catch (\Exception $e) {
throw new ApiException($e->getMessage());
}

Перечисление средств на баланс Алипай

Пример кода:

$alipay = new \JiaLeo\Payment\Alipay\Transfer($config);

$out_biz_no = date('YmdHis') . rand(10000, 99999);

$payData = [
	'out_biz_no' => $out_biz_no, // номер заказа, передается при оплате заказа, не может быть одновременно пустым с trade_no
	//'out_trade_no' => '149629776262420', // номер транзакции Алипай, и номер заказа продавца не могут быть одновременно пустыми
	'amount' => $res->amount, // сумма перечисления (единица: центы)
	'payee_account' => $res->alipay_account, // уникальный идентификатор одной операции перечисления, если требуется частичное перечисление, этот параметр обязателен
	'remark' => 'Пользователь выводит средства'
];

try {
	$body = $alipay->handle($payData);
} catch (\Exception $e) {
	$error_msg = $e->getMessage();
	throw new ApiException($error_msg);
}

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/jialeo-payment.git
git@api.gitlife.ru:oschina-mirror/jialeo-payment.git
oschina-mirror
jialeo-payment
jialeo-payment
master