PaySDK — это интегрированный в PHP платежный SDK, который объединяет платежные интерфейсы Alipay и WeChat Pay, а также операции других связанных интерфейсов.
Никаких зависимостей от фреймворка, поддерживает все фреймворки и среду сопрограмм Swoole.
У нас есть полная техническая документация онлайн: http://doc.yurunsoft.com/PaySDK.
Документация по API: https://apidoc.gitee.com/yurunsoft/PaySDK.
Этот проект вошел в стадию обслуживания и не будет поддерживать интерфейс WeChat V3. Мне лень следить за ними. Если вам это нужно, поищите в другом месте.
Сам автор никакой технической поддержки не оказывает. При необходимости можно присоединиться к групповому обсуждению: 17916227. Не уверен, что кто-нибудь ответит.
Во время разработки каждый определенно будет подключаться к различным платежным платформам. Лично у меня ограниченная энергия. Вы можете отправить PR на Github и вместе работать над улучшением PaySDK, чтобы он мог поддерживать больше платежных платформ и был более стабильным, надежным и простым в использовании. .
Мгновенная оплата - оплата через компьютерный сайт (старая версия)
Мгновенный платеж - оплата на мобильном сайте (старая версия)
Оплата лично
Оплата мобильного сайта
Оплата через компьютерный сайт
Платежный сервер приложения
Оплата мини-программы
Разовый перевод на счет Alipay
Оплата за границу (компьютерный веб-сайт, мобильный веб-сайт, приложение, скан-код)
Таможенная декларация
Другие вспомогательные интерфейсы транзакций (возвраты, запросы и т. д.)
Оплата картой
Официальная оплата счета
Сканируйте код для оплаты
Приложение оплаты
оплата H5
Оплата мини-программы
Платежи для бизнеса изменятся
Бизнес-платежи на банковские карты
Платеж за границу (проведите карту, официальный аккаунт, скан-код, приложение)
Таможенная декларация
Другие вспомогательные интерфейсы транзакций (возвраты, запросы и т. д.)
Добавьте конфигурацию в ваш композитор.json:
PHP >= 5.5
{"require": {"yurunsoft/pay-sdk": "~3.0"} }
PHP >= 5.4
{"require": {"yurunsoft/pay-sdk": "~2.0"} }
Версия 3.x поддерживает PHP >= 5.5 и находится на постоянном итеративном обслуживании.
Версия 2.x поддерживает PHP >= 5.4, поддерживает долгосрочное обслуживание ошибок, обеспечивает стабильность и доступность и останавливает функциональные обновления.
Затем выполните команду composer update
.
// Создание экземпляра SDK, передача общедоступной конфигурации $pay = new YurunPaySDKAlipaySDK($params // Платежный интерфейс $request = new YurunPaySDKAlipayParamsPayRequest; $request->notify_url = '' // Адрес уведомления после оплаты (как обратный вызов об успехе платежа); , это надежно) $request->return_url = ''; Перейти на обратный адрес после оплаты $request->businessParams->seller_id = $GLOBALS['PAY_CONFIG']['appid']; // номер пользователя Alipay $request->businessParams->out_trade_no = 'test' . 10000000,99999999); // Номер заказа продавца $request->businessParams->total_fee = 0.01; // Цена $request->businessParams->subject = 'Тестовый продукт'; // Название продукта // Перейти на страницу оплаты // $pay->redirectExecute( $ request);//Получаем URL перехода$pay->prepareExecute($request, $url);var_dump($url);
// Создание экземпляра SDK, передача общедоступной конфигурации $pay = new YurunPaySDKAlipayAppSDK($params) // Платежный интерфейс $request = new YurunPaySDKAlipayAppWapParamsPayRequest; $request->notify_url = '' // Адрес уведомления после оплаты (как обратный вызов об успехе платежа); , это надежно) $request->return_url = ''; Перейти на обратный адрес после оплаты $request->businessParams->out_trade_no = 'test' . mt_rand(10000000,99999999); // Номер заказа продавца $request->businessParams->total_amount = 0.01; // Цена $request-> businessParams ->subject = «Xiaomi Mobile 9 Black Ceramic Exclusive Edition» // название продукта //; Переход на страницу оплаты // $pay->redirectExecute($request) // Получаем URL перехода $pay->prepareExecute($request, $url);var_dump($url);
// Создание экземпляра SDK, передача общедоступной конфигурации $pay = new YurunPaySDKWeixinSDK($params) // Платежный интерфейс $request = new YurunPaySDKWeixinH5ParamsPayRequest; $request->body = 'test'; // Описание продукта $request->out_trade_no = 'тест' .mt_rand(10000000,99999999); Номер заказа $request->total_fee = 1; // Общая сумма заказа, ед.: центы $request->spbill_create_ip = '127.0.0.1' // IP клиента $request->notify_url = '' // Адрес асинхронного уведомления / / Интерфейс вызова $result = $pay->execute($request);if($pay->checkResult()) {// Перейти к заголовку платежного интерфейса('Location: ' . $result['mweb_url']); }else{var_dump($pay->getErrorCode() . ':' . $pay->getError()); }Выход;
В асинхронных уведомлениях о платежах и возвратах необходимо назначать объекты Request
и Response
Swoole
или можно использовать объекты, соответствующие стандарту PSR-7.
Объекты Request
и Response
основных платформ обычно соответствуют стандарту PSR-7 и могут использоваться напрямую.
imi — это высокопроизводительная среда разработки сопрограммных приложений, основанная на PHP Swoole. Она поддерживает разработку сервисов HttpApi, WebSocket, TCP и UDP.
Благодаря поддержке Swoole, по сравнению с возможностями ответа на запросы php-fpm, возможности обработки сцен с интенсивным вводом-выводом были существенно улучшены.
Платформа imi имеет богатые функциональные компоненты и может широко использоваться в Интернете, мобильной связи, корпоративном программном обеспечении, облачных вычислениях, онлайн-играх, Интернете вещей (IOT), Интернете транспортных средств, умных домах и других областях. Это может значительно повысить эффективность корпоративных ИТ-отделов исследований и разработок и больше сосредоточиться на разработке инновационных продуктов.
https://www.imiphp.com/
/** * Это метод действия в контроллере * @Action */public function test() {$payNotify = новый класс расширяет YurunPaySDKWeixinNotifyPay {/** * Последующие операции выполнения * @return void */protected function __exec() { } };$context = RequestContext::getContext();//Следующие две строки имеют решающее значение $payNotify->swooleRequest = $context['request'];$payNotify->swooleResponse = $context['response'];$sdk - >notify($payNotify);// Это предложение необходимо заполнить в return $payNotify->swooleResponse; }
$payNotify = новый класс расширяет YurunPaySDKWeixinNotifyPay {/** * Последующие операции выполнения * @return void */protected function __exec() { } } // Следующие две строки имеют решающее значение: $request и $response получены из запроса // Или проверьте, как получить их из используемой вами платформы $payNotify->swooleRequest = $request;$payNotify->swooleResponse = $; ответ;$ SDK->notify($payNotify);
$payNotify = новый класс расширяет YurunPaySDKWeixinNotifyPay {/** * Последующие операции выполнения * @return void */protected function __exec() { } }; // В настоящее время основная версия Swoole в основном поддерживает стандартные объекты PSR-7, // поэтому их можно передавать напрямую. Чтобы узнать, как их получить, обратитесь к документации соответствующей платформы. payNotify->swooleResponse = $response; $sdk->notify($payNotify);//После завершения обработки необходимо вернуть $response от контроллера или присвоить его контексту// Операции разных платформ различны. Обратитесь к документации соответствующей платформы return $payNotify->swooleResponse;
Содержание услуги:
Открытие счета по низкой цене (только для легальных торговцев)
Устранение неполадок и консультация
Платите от имени других
Другое сотрудничество
При необходимости добавьте QQ: 369124067
WeChat: wx_zhangrunyu
(укажите цель вашего визита)
Открытый исходный код не ищет прибыли, все зависит от вашего сердца. Жизнь нелегка, так что просто плывите по течению...