自建网站(win7上搭建的虚拟机)不能支付

一个电商支付软件shopxo(php程序),在租来的服务器网站能正常支付(xorpay的zfb,wx),但在本地自建网站(win7上搭建的虚拟机)不能支付,公网电信光纤入室,经过路由,有端口转发,公网能访问。希望有人能帮解决,有酬谢。(如谁人有空自己搭建个服务器,我提供程序测试,能解决问题的,我补偿¥300.)

自建服务器是在家里电脑上用小皮系统搭建的,window系统。电商软件shopxo前后台都能工作,就是到支付环节出问题,提示返回数据错误。但装在租来的服务器上就没问题。我需要的是确定性高的,不是在网上搜来的一大堆让我去一个个试,没那个精力了。

这个需要在zfb,wx后台要配置支付回调地址的,你原来的服务器是公网地址,现在用本地环境,就无法接收这个支付回调通知了,所以你得换下支付回调通知地址,这个地址可以通过端口转发到你的本地环境

以下答案由GPT-3.5大模型与博主波罗歌共同编写:
这个问题可能有多个原因导致,以下是一些可能的解决方案:

  1. 检查虚拟机的网络设置。确保虚拟机网卡使用的是“桥接模式”,而不是“仅限主机模式”。桥接模式可以使虚拟机和主机处于同一网络,从而可以直接访问外部网络。

  2. 检查虚拟机的防火墙设置。确保虚拟机的防火墙没有阻止网站的支付请求。可以暂时关闭防火墙来测试是否可以支付。

  3. 检查网站代码。确认代码中支付接口的地址和端口是否正确,是否有正确的密钥和证书。如果支付接口需要HTTPS,则确认是否已经在本地运行了HTTPS服务器,并且证书是否有效。

  4. 检查电脑上的端口转发设置。确保端口转发已经配置正确。可以考虑在本地使用Telnet工具测试端口是否能够正常连接。

如果以上方法都不能解决问题,可以考虑在虚拟机上运行一个类似Wireshark的网络抓包工具来查看支付请求和响应,以确定问题出在哪里。

至于代码方面,根据你提供的信息,我无法确定具体需要修改哪些部分。如果你的代码存在问题,可能需要修改调用支付接口的部分。一般来说,调用支付接口需要向特定的URL发送请求,并传递一些必要的参数,如商品名称、价格、购买者信息等。这个请求可能需要通过POST方法发送,等待响应后再做进一步的处理。以下是一个简单的Python代码示例,用于向支付宝请求支付订单:

import requests

# 构造请求参数
params = {
    'partner': '20880000000000000',
    'seller_id': 'seller@example.com',
    'out_trade_no': '1234567',
    'subject': '商品名称',
    'total_fee': '1.00',
    'notify_url': 'http://example.com/notify',
    'return_url': 'http://example.com/return',
    '_input_charset': 'utf-8',
    'payment_type': '1'
}

# 发送POST请求
response = requests.post('https://mapi.alipay.com/gateway.do', data=params)

# 处理响应
if response.status_code == 200:
    # 解析响应内容,并做进一步的处理
    pass
else:
    # 请求失败,处理错误信息
    pass

请注意,以上代码仅供参考,可能需要根据实际情况进行修改。另外,如果你的支付接口使用的是其他的软件,如ShopXO、Xorpay等,可能需要查阅官方文档,并按照官方提供的方法来调用支付接口。
如果我的回答解决了您的问题,请采纳!

创建一个独立的虚拟机来使用支付宝和网上银行
可以借鉴下
https://blog.csdn.net/bloodmud/article/details/83607043

这个支付需要回调你的服务器,你的本地可能运营商封了80端口,你换一个端口看看。如果还不行,就是http协议也被封了。