$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',
);
),
Определение устройства для выбора экземпляра
Веб-страница
$alipay = new \JiaLeo\Payment\Alipay\WebPay($config);
Mobile Web (мобильная веб-страница)
$alipay = new \JiaLeo\Payment\Alipay\WapPay($config);
App
$alipay = new \JiaLeo\Payment\Alipay\AppPay($config);
Установка параметров платежа
Пример кода:
$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' // адрес перехода после успешного платежа
);
Вызов функции выполнения
Пример кода:
$url = $alipay->handle($pay_data);
if ($data['device'] == 'app') {
return $url;
} else {
return redirect($url);
}
Обработка обратной связи от Алипай
$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 )