吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1885|回复: 28
收起左侧

[其他原创] 基于php+Android-实现个人支付收款系统

[复制链接]
zhengduimen 发表于 2024-7-5 11:37
本帖最后由 zhengduimen 于 2024-7-8 09:53 编辑

个人收款
基于webman+workerman开发 搭配 Android 到账监控系统使用

前置说明 :
云服务器 宝塔均需开启 7272  8787 端口

说明:

自行购买服务器搭建网站并自行部署,商品自行添加,收款码自行添加;
所有购买操作金额直接到个人账户,其他任何人不参与收款;
个人手机收取金额后刷新服务器订单,
所涉及金额全程仅在自己服务器与自己手机账户之间流转,避免跑路风险;


售卡系统代码:代码太大了 不知道让不让发 代码gitee 地址 : 先不发,后边看。
首页展示:
main.png
后台展示:
back.png

到账监控效果:
img_pay.png
服务端部署:
禁用函数检查

使用这个脚本检查是否有禁用函数。命令行运行curl -Ss https://www.workerman.net/check | php
如果有提示Function 函数名 may be disabled. Please check disable_functions in php.ini说明workerman依赖的函数被禁用,需要在php.ini中解除禁用才能正常使用workerman。
解除禁用参考如下两种方法任选其一即可。

方式一
  • 脚本解除
    执行脚本 curl -Ss https://www.workerman.net/fix | php 以解除禁用
    方法二:手动解除
    步骤如下:
  • 1、运行php --ini 找到php cli所使用的php.ini文件位置
  • 2、打开php.ini,找到disable_functions一项解除对应函数的禁用
    • 依赖的函数 使用workerman需要解除以下函数的禁用
      [Asm] 纯文本查看 复制代码
      stream_socket_server
      stream_socket_client
      pcntl_signal_dispatch
      pcntl_signal
      pcntl_alarm
      pcntl_fork
      posix_getuid
      posix_getpwuid
      posix_kill
      posix_setsid
      posix_getpid
      posix_getpwnam
      posix_getgrnam
      posix_getgid
      posix_setgid
      posix_initgroups
      posix_setuid
      posix_isatty
部署

建议选择宝塔进行部署

  • 1、环境

  • 注意环境尽量保持一致   Nginx 1.24.0  ;php  8.0.26 ; mysql 5.5.62

  • 2、php禁用函数手动解除   

  • 3、手动解除的话需要自行删除 ,自动删除的方式不一定能删除完整   

  • 参考   方法二:手动解除

  • Nginx 配置

  • 完整配置

    user  www www;
    worker_processes auto;
    error_log  /www/wwwlogs/nginx_error.log  crit;
    pid        /www/server/nginx/logs/nginx.pid;
    worker_rlimit_nofile 51200;
     stream {
         log_format tcp_format '$time_local|$remote_addr|$protocol|$status|$bytes_sent|$bytes_received|$session_time|$upstream_addr|$upstream_bytes_sent|$upstream_bytes_received|$upstream_connect_time';
        access_log /www/wwwlogs/tcp-access.log tcp_format;
        error_log /www/wwwlogs/tcp-error.log;
        include /www/server/panel/vhost/nginx/tcp/*.conf;}
     events{
        use epoll;
        worker_connections 51200;
        multi_accept on;}
    http{
        include       mime.types;
                -----include luawaf.conf;
                include proxy.conf;
        lua_package_path "/www/server/nginx/lib/lua/?.lua;;";
        default_type  application/octet-stream;
        server_names_hash_bucket_size 512;
        client_header_buffer_size 32k;
        large_client_header_buffers 4 32k;
        client_max_body_size 50m;
        sendfile   on;
        tcp_nopush on;
        keepalive_timeout 60;
        tcp_nodelay on;
        fastcgi_connect_timeout 300;
        fastcgi_send_timeout 300;
        fastcgi_read_timeout 300;
        fastcgi_buffer_size 64k;
        fastcgi_buffers 4 64k;
        fastcgi_busy_buffers_size 128k;
        fastcgi_temp_file_write_size 256k;
        fastcgi_intercept_errors on;
        gzip on;
        gzip_min_length  1k;
        gzip_buffers     4 16k;
        gzip_http_version 1.1;
        gzip_comp_level 2;
        gzip_types     text/plain application/javascript application/x-javascript text/javascript text/css application/xml application/json image/jpeg image/gif image/png font/ttf font/otf image/svg+xml application/xml+rss text/x-js;
        gzip_vary on;
        gzip_proxied   expired no-cache no-store private auth;
        gzip_disable   "MSIE [1-6]\.";
        limit_conn_zone $binary_remote_addr zone=perip:10m;
        limit_conn_zone $server_name zone=perserver:10m;
        server_tokens off;
        access_log off;
        upstream webman {
            server 127.0.0.1:8787;
            keepalive 10240;
        }
        upstream websocket_backend {
            server 127.0.0.1:7272;
        }
    server {
        listen 888;
        server_name phpmyadmin;
        index index.html index.htm index.php;
        root  /www/server/phpmyadmin;
        location ~ /tmp/ {
            return 403;
        }
        -----error_page   404   /404.html;
        include enable-php.conf;
        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
        {
            expires      30d;
        }
        location ~ .*\.(js|css)?$
        {
            expires      12h;
        }
        location ~ /\.
        {
            deny all;
        }
        access_log  /www/wwwlogs/access.log;
    }
        map $http_upgrade $connection_upgrade {
            default upgrade;
            '' close;
        }
        server {
          listen 80;
          server_name 110.10.10.10; 
    ----- 如果用ip的话 直接这样配置就行 ,如果使用域名 则 正常写入域名 其他不用做什么变动
          access_log off;
           ----root /www/wwwroot/SaleSystem;
    
          location ^~ / {
              proxy_set_header X-Real-IP $remote_addr;
              proxy_set_header Host $http_host;
              proxy_set_header X-Forwarded-Proto $scheme;
              proxy_http_version 1.1;
              proxy_set_header Connection "";
              if (!-f $request_filename){
                  proxy_pass http://webman;
              }
          }
         location /websocket {
                proxy_pass http://websocket_backend;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection $connection_upgrade;
            }
    
        }
    include /www/server/panel/vhost/nginx/*.conf;
    }
这里需要特别注意-支付结果回调靠这个完整-配置完成后自行测试几单验证结果
location /websocket {
                proxy_pass http://websocket_backend;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection $connection_upgrade;
            }
上述操作完成后 如何启动项目
  • 1、进入系统根目录 以我的目录为例:cd www/wwwroot/SaleSystem/
  • 2、执行指令  php start.php start -d   以守护方式启动 (当服务已经启动了,最好是先执行php start.php stop 停止之后再重新启动)

服务端代码安装部署:

上传代码完成后 端口放行完毕,打开浏览器  拿百度域名 距离 www.baidu.com/app/admin 进行安装  按照要求输入 数据库账号密码 等 以及设置管理后台账号密码 ,完成安装;

搭配收款监控到账 app

找一部用不到的手机,安装到账监控apk后,授予最高权限,其中通知栏,必须、系统常亮等权限最好也开启,然后插着电放那儿完事。(尽可能给与更高权限,该app仅仅涉及监控到账信息并与服务器交互,不涉及其他功能,请放心食用)

  • 1、运行安装;
  • 2、授权app打开通知栏等权限
  • 3、手机自身设置屏幕常亮不息屏

这样当手机收到支付成功的到账消息时候 会进行相应处理;

然后就可以像街边摆摊小贩一样  摆上自己的收款码 愉快的 玩耍了。

相关学习资料 不知道能不能发 链接  -- 基于 webman 开发的  大家搜一搜这框架就行 挺好用的。

    md 标签中 ```   ``` 代码块中  # 注释 识别异常  目前切换为 --- 请注意查收




免费评分

参与人数 1威望 +1 吾爱币 +20 热心值 +1 收起 理由
苏紫方璇 + 1 + 20 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| zhengduimen 发表于 2024-11-26 15:24
Lambor_G 发表于 2024-11-26 15:01
咋知道是哪个人支付的呢

1、注册账号 ;
2、唯一金额;
3、生成订单;
4、支付后通知服务器根据唯一金额刷新订单(服务器需要根据特定规则保证一段时间内支付订单金额唯一,必须保证);
5、刷新订单后websocket刷新;
 楼主| zhengduimen 发表于 2024-7-8 09:03
服务端部署:    下边跟着的是 md 起始标签     文章结束  跟的是 md 结束标签  ,不过看起来 似乎没啥作用 是不是要 分段用 md 处理?
侃遍天下无二人 发表于 2024-7-5 23:12
gitee可以放,代码符合版规(禁止留联系方式、收费、侵权)就行
 楼主| zhengduimen 发表于 2024-7-6 11:16
侃遍天下无二人 发表于 2024-7-5 23:12
gitee可以放,代码符合版规(禁止留联系方式、收费、侵权)就行

好的 ,这就把地址贴出来
 楼主| zhengduimen 发表于 2024-7-6 11:18
当前帖子对应服务端代码地址       -----      gitee:地址     https://gitee.com/qobn/sale-system.git
苏紫方璇 发表于 2024-7-8 00:41
md插入的代码需要在md编辑器里使用代码标记一下,直接贴是不可以的
 楼主| zhengduimen 发表于 2024-7-8 09:00
苏紫方璇 发表于 2024-7-8 00:41
md插入的代码需要在md编辑器里使用代码标记一下,直接贴是不可以的

底下的代码 我尝试用md 在包裹一下 。  其实已经包裹了一层了。
 楼主| zhengduimen 发表于 2024-7-8 09:47
md 标签中 ```   ``` 代码块中  # 注释 识别异常  目前切换为 ---显示 nginx 配置需注意
fjkek 发表于 2024-7-8 13:23
没看到ANDROID监测什么
 楼主| zhengduimen 发表于 2024-7-8 15:34
fjkek 发表于 2024-7-8 13:23
没看到ANDROID监测什么

android监控原理其实就是 到账通知
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-13 05:01

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表