PaySDK es un SDK de pago integrado de PHP que integra las interfaces de pago de Alipay y WeChat Pay y las operaciones de otras interfaces relacionadas.
Sin dependencias de marcos, admite todos los marcos y admite el entorno de rutina Swoole.
Disponemos de documentación técnica completa online: http://doc.yurunsoft.com/PaySDK
Documentación API: https://apidoc.gitee.com/yurunsoft/PaySDK
Este proyecto ha entrado en la etapa de mantenimiento y no admitirá la interfaz WeChat V3. Soy demasiado vago para seguirlos. Si lo necesita, busque en otra parte.
El propio autor no proporciona ningún soporte técnico. Si es necesario, puede unirse a la discusión del grupo: 17916227. No es seguro que alguien responda.
Definitivamente todos se conectarán a varias plataformas de pago durante el desarrollo. Personalmente, tengo energía limitada. Le invitamos a enviar un PR en Github y trabajar juntos para mejorar PaySDK para que pueda admitir más plataformas de pago y sea más estable, confiable y fácil de usar. .
Pago instantáneo: pago desde el sitio web por computadora (antiguo)
Pago instantáneo: pago desde sitio web móvil (antiguo)
Paga en persona
Pago por sitio web móvil
Pago del sitio web de la computadora
Servidor de pago de aplicaciones
Pago del mini programa
Transferencia única a cuenta Alipay
Pago en el extranjero (sitio web de computadora, sitio web móvil, aplicación, código de escaneo)
Declaración de aduana
Otras interfaces de transacciones auxiliares (reembolsos, consultas, etc.)
pagar con tarjeta
Pago de cuenta oficial
Escanear código para pagar
pago de la aplicación
pago H5
Pago del mini programa
Pagos comerciales para cambiar
Pagos comerciales a tarjetas bancarias.
Pago en el extranjero (tarjeta magnética, cuenta oficial, código de escaneo, aplicación)
Declaración de aduana
Otras interfaces de transacciones auxiliares (reembolsos, consultas, etc.)
Agregue configuración a su compositor.json:
PHP >= 5.5
{"require": {"yurunsoft/pay-sdk": "~3.0"} }
PHP >= 5.4
{"require": {"yurunsoft/pay-sdk": "~2.0"} }
La versión 3.x es compatible con PHP >= 5.5 y está bajo mantenimiento iterativo continuo.
La versión 2.x admite PHP >= 5.4, admite el mantenimiento de ERRORES a largo plazo, garantiza estabilidad y disponibilidad y detiene las actualizaciones funcionales.
Luego ejecute el comando composer update
.
// Creación de instancias del SDK, pase la configuración pública $pay = new YurunPaySDKAlipaySDK($params); // Interfaz de pago $request = new YurunPaySDKAlipayParamsPayRequest $request->notify_url = ''; , esto es confiable) $request->return_url = ''; Vaya a la dirección de devolución después del pago $request->businessParams->seller_id = $GLOBALS['PAY_CONFIG']['appid']; // Número de usuario de Alipay del vendedor $request->businessParams->out_trade_no = 'test' . 10000000,99999999); Número de pedido del comerciante $request->businessParams->total_fee = 0.01; // Precio $request->businessParams->subject = 'Producto de prueba' // Ir a la página de pago // $pay->redirectExecute( $ request);//Obtener la URL de salto$pay->prepareExecute($request, $url);var_dump($url);
// Creación de instancias del SDK, pase la configuración pública $pay = new YurunPaySDKAlipayAppSDK($params); // Interfaz de pago $request = new YurunPaySDKAlipayAppWapParamsPayRequest; $request->notify_url = ''; , esto es confiable) $request->return_url = ''; Vaya a la dirección del remitente después del pago $request->businessParams->out_trade_no = 'test' . mt_rand(10000000,99999999); // Número de pedido del comerciante $request->businessParams->total_amount = 0.01; businessParams ->subject = 'Xiaomi Mobile 9 Black Ceramic Exclusive Edition' // título del producto // Saltar a la página de pago // $pay->redirectExecute($request); // Obtener la URL de salto $pay->prepareExecute($request, $url);var_dump($url);
// Creación de instancias del SDK, pase la configuración pública $pay = new YurunPaySDKWeixinSDK($params); // Interfaz de pago $request = new YurunPaySDKWeixinH5ParamsPayRequest; $request->body = 'test'; // Descripción del producto $request->out_trade_no = 'prueba' .mt_rand(10000000,99999999); Número de pedido $request->total_fee = 1; // Monto total del pedido, unidad: centavos $request->spbill_create_ip = '127.0.0.1' // IP del cliente $request->notify_url = ''; / Interfaz de llamada $resultado = $pagar->ejecutar($solicitud);if($pagar->checkResult()) {// Saltar al encabezado de la interfaz de pago('Ubicación: ' . $resultado['mweb_url']); }else{var_dump($pay->getErrorCode() . ':' . $pay->getError()); }salida;
En las notificaciones asincrónicas de pago y reembolso, se deben asignar los objetos Request
y Response
de Swoole
, o se pueden usar objetos que cumplan con el estándar PSR-7.
Los objetos Request
y Response
de los marcos principales generalmente siguen el estándar PSR-7 y se pueden usar directamente.
imi es un marco de desarrollo de aplicaciones de rutina de alto rendimiento basado en PHP Swoole. Admite el desarrollo de servicios HttpApi, WebSocket, TCP y UDP.
Con el soporte de Swoole, en comparación con la capacidad de respuesta a solicitudes de php-fpm, las capacidades de procesamiento de escenas con uso intensivo de E/S se han mejorado sustancialmente.
El marco imi tiene ricos componentes funcionales y puede usarse ampliamente en Internet, comunicaciones móviles, software empresarial, computación en la nube, juegos en línea, Internet de las cosas (IOT), Internet de vehículos, hogares inteligentes y otros campos. Puede mejorar en gran medida la eficiencia de los equipos de I+D de TI de las empresas y centrarse más en el desarrollo de productos innovadores.
https://www.imiphp.com/
/** * Este es un método de acción en el controlador * @Action */public function test() {$payNotify = nueva clase extiende YurunPaySDKWeixinNotifyPay {/** * Operaciones de ejecución posteriores * @return void */función protegida __exec() { } };$context = RequestContext::getContext();//Las dos líneas siguientes son críticas $payNotify->swooleRequest = $context['request'];$payNotify->swooleResponse = $context['response'];$sdk - >notify($payNotify);// Esta oración debe completarse a cambio $payNotify->swooleResponse; }
$payNotify = nueva clase extiende YurunPaySDKWeixinNotifyPay {/** * Operaciones de ejecución posteriores * @return void */función protegida __exec() { } }; // Las siguientes dos líneas son críticas, $request, $response se obtienen de la solicitud // O verifique cómo obtenerlas del marco que está utilizando $payNotify->swooleRequest = $request;$payNotify->swooleResponse = $ respuesta;$ sdk->notificar($payNotify);
$payNotify = nueva clase extiende YurunPaySDKWeixinNotifyPay {/** * Operaciones de ejecución posteriores * @return void */función protegida __exec() { } }; // Actualmente, Swoole convencional básicamente admite objetos estándar PSR-7 // por lo que se puede pasar directamente. Consulte la documentación del marco correspondiente para saber cómo obtenerlo. payNotify->swooleResponse = $response; $sdk->notify($payNotify);// Una vez completado el procesamiento, el controlador debe devolver $response o asignarlo al contexto// Las operaciones de diferentes marcos son diferentes. Consulte la documentación del marco correspondiente return $payNotify->swooleResponse;
Contenido del servicio:
Apertura de cuenta a bajo costo (solo comerciantes legales)
Solución de problemas y consulta
Pagar en nombre de otros
Otra cooperación
Si es necesario, agregue QQ: 369124067
WeChat: wx_zhangrunyu
(indique el propósito de su visita)
El código abierto no busca ganancias, se trata de tu corazón. La vida no es fácil, así que déjate llevar...