支付宝移动支付在服务器端接收请求字符串

2023-12-30

我不完全确定这个问题有多受欢迎或者是否会得到任何答复,因为这个问题与中国开发者的关系比与国外开发者的关系更大,但是,我目前正在努力集成支付宝的服务器端脚本以接收移动电话成功请求字符串。

我已经成功地向我的移动人员(通过在可怕的支付宝 API 中眯起眼睛)提供他们向支付宝付款所需的字符串。它遵循以下格式[保留身份信息]:

_input_charset=\"utf-8\"&body=\"Order Number: 20141121_80\"&it_b_pay=\"30m\"&notify_url=\"http://somePublicFacingIP:8080/index.php?route=payment/alipay/callback\"&out_trade_no=\"80\"&partner=\"2088611100000000\"&payment_type=\"1\"&seller_id=\"[email protected] /cdn-cgi/l/email-protection\"&service=\"mobile.securitypay.pay\"&subject=\"Order Number: 20141121_80\"&total_fee=\"10.01\"

上述字符串被支付宝支付类中的Android/iOS API使用,然后用私钥签名,然后发送到支付宝。支付宝收到他们的请求后,会验证我们的参数字符串,并发回 6000 - 9000 范围内的状态码。

到目前为止我们已经收到resultStatus=9000在返回给手机用户的字符串中,这表明支付成功(通过检查支付宝的钱包历史记录,我们确实看到我们已经付款)

result = {
    memo = "";
    result = "_input_charset=\"utf-8\"&body=\"\U4ea4\U6613\U53f7 20141124_80\"&it_b_pay=\"30m\"&notify_url=\"http://publicFacingIP:8080/index.php?route=payment/alipay/callback\"&out_trade_no=\"80\"&partner=\"208861100000000\"&payment_type=\"1\"&seller_id=\"[email protected] /cdn-cgi/l/email-protection\"&service=\"mobile.securitypay.pay\"&subject=\"\U65b0\U5143\U7d20\U7f51\U4e0a\U70b9\U9910 - \U8ba2\U5355\U7f16\U53f7 20141124_87\"&total_fee=\"0.01\"&success=\"true\"&sign_type=\"RSA\"&sign=\"reallyLongSignedString\"";
    resultStatus = 9000;
}

这是一切停止工作的地方:

支付宝理论上应该发送一个结果字符串(参数比上面显示的更多)也发送给我们notify_url我们在输入参数中指定我们的服务器需要验证是支付宝。该结果字符串还将用于更新我们的后端,以便我们知道订单确实已成功。

由于某种原因,支付宝根本没有将结果字符串发送到我们指定的notify_url.

我尝试过的:

  1. Put a var_dump()POST 输入的payment/alipay/callback。没有收到any要求。

  2. 我尝试过使用面向公众的 IP URLpayment/alipay/callback我知道它正在工作,因为我收到了请求,因此排除了我的callbackURL 是否有效。

  3. 拉我的头发。我再次测试付款,可以确认拔掉头发并不能解决问题。

正如中国开发者常说的,有没有“大神”(或大师)可以为我提供一些建议和/或解决方案?


好吧,我刚刚结束了支付宝的支持电话。

我们确认他们确实将请求发送给了我notify_url,但我的通知类中有一个 PHP 重定向代码片段,因此它只是被重定向到我的登陆页面(其结果的输出是我主页的 HTML 代码)。

所以吸取的教训是:

  1. 不要将重定向放入notify_url

  2. 联系支付宝支持 - 他们可以提供比你想象的更多的帮助(好吧。比我想象的要少,但他们仍然提供了帮助)。

我还实现了他们的 Notify 类(负责处理返回参数)的讨厌的意大利面条代码。代码不漂亮,缩进都不正确,注释都是中文的..但看起来它会起作用。所以我们会先发布它,然后重构&&翻译。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

支付宝移动支付在服务器端接收请求字符串 的相关文章

  • https 重定向 laravel .htaccess 之后删除 /public

    我有一个 Laravel 页面部署在共享主机中 当我强制 http 请求重定向到 https 时 url 包含 public 我的根 htaccess 是 RewriteEngine on RewriteCond REQUEST URI p
  • 带单引号的 XPATH 查询[重复]

    这个问题在这里已经有答案了 有人知道如何解决这个问题吗 单引号让我陷入困境 nodes xml gt xpath item contains catalog Billy s Blogs title 我尝试以各种方式逃避它 但都抛出错误 no
  • Laravel Redis 配置

    我目前正在使用 Laravel 和 Redis 创建一个应用程序 几乎一切都工作正常 我按照文档中的说明扩展了身份验证 用户可以订阅 登录 注销 我可以创建内容 所有内容都存储在 Redis 中 但我有一个问题 我无法运行 php arti
  • 如何从 URL 获取当前的 Web 目录?

    如果我有一个网址http www example com sites dir index html http www example com sites dir index html 我想提取 sites 这个词 我知道我必须使用正则表达式
  • 如何访问带有美元符号的 PHP 对象属性?

    我有一个 PHP 对象 其属性中有一个美元 符号 如何访问该属性的内容 例子 echo object gt variable Ok echo object gt variable WithDollar Syntax error With 变
  • IMAP 和 PHP - 从已发送文件夹和收件箱文件夹中获取所有电子邮件

    我正在尝试获取接收和发送的所有电子邮件 并使用 PHP 将其写入 mySQL 数据库 我使用的主机名是 hostname imap gmail com 993 imap ssl INBOX 它仅引用收件箱 并成功抓取收到的电子邮件 为了抓取
  • snappy wkhtmltopdf 包装器将生成的 html 文件发送到浏览器

    我像鼹鼠一样用谷歌搜索 但找不到正确的方法 我正在使用 WKHTMLTOPDF Wrapper Snappy 创建 PDF 如何将使用generateFromHtml方法生成的pdf直接发送到浏览器 这就是我想做的 header Conte
  • CodeIgniter加入选择为

    我的数据库中有 2 个表需要加入 一张表是 artikelen 表 另一张表是 Collections 表 我目前有 this gt db gt select this gt db gt from collecties this gt db
  • Apache LOG:子进程 pid xxxx 退出信号分段错误 (11)

    Apache PHP Mysql Linux 注意 子进程 pid 23145 退出信号分段错误 11 tmp 中可能存在 coredump 但 tmp下没有找到任何东西 我怎样才能找到错误 PHP 代码中函数的无限循环导致了此错误
  • 如何在 Yii2 应用程序中显示多个选择下拉列表中的选定值?

    我正在研究 Yii2 我正在使用这样的自定义数组创建多个选择下拉菜单 在控制器文件中 all groups Groups find gt where group created by id gt orwhere new Expression
  • 根据product_id获取magento产品的浏览次数

    我想在 Magento 的类别列表页面上显示查看计数 这些数据看起来过去可以通过 reports product collection 访问 但我找不到正确访问它的方法 我基本上想提供一个产品 ID 并获取返回给我的所述产品的观看次数 您可
  • 如何从文件中获取整个函数

    好的 我现在正在逐行阅读一个文件 我知道文件中的每个函数名称 因为它是在 XML 文档中的其他位置定义的 应该是这样的 function function name 其中 function name 是函数的名称 我从 XML 文档中获取所
  • 重用 PDO 语句 var 会使进程崩溃

    我重用一个变量来存储两个不同的 PDO mysql 语句 stmt dbh gt prepare SELECT stmt gt execute stmt dbh gt prepare UPDATE crash here Error in o
  • PHP cURL 看不到 /etc/hosts 文件

    我在让 PHP cURL 库识别我在我的文件中创建的别名时遇到了麻烦 etc hosts file 这就是我的 etc hosts现在归档 192 168 0 20 www example dev 在另一端 192 168 0 20 Apa
  • 一次用 \r\n & \n & \r 分解字符串? [复制]

    这个问题在这里已经有答案了 我想按行分割字符串 但我希望它基于所有主要使用的换行符 n r n r 并返回一个包含每一行的数组 您可以使用正则表达式和preg split http php net preg split反而 lines pr
  • 如何下载临时文件

    我正在尝试创建一个简短的 PHP 脚本 该脚本采用 JSON 字符串 将其转换为 CSV 格式 使用fputcsv 并使该 CSV 可作为下载的 csv 文件使用 我的想法是使用tmpfile 不用担心 cronjobs 或磁盘空间不足 但
  • PHP 使用主键和辅助键对多维数组进行排序[重复]

    这个问题在这里已经有答案了 如何按主键和辅助键对多维数组进行排序 例如 假设有以下数组 result array result 0 prio 1 result 0 date 2010 02 28 result 0 post February
  • 如何使用 PHP 将字符串按大写字母分解?

    我有一个字符串 CamelCaseString 我想对大写字母进行explode split 或一些更好的方法来将该字符串分解为单个单词 最简单的方法是什么 解决方案更新 此链接指向一个略有不同的问题 但我认为答案通常比本页当前问题的答案更
  • Laravel 4.2 Composer 安装错误:“无法扫描类”

    我想通过 Composer 在新的 Laravel 4 2 安装上安装一些软件包 但是 我遇到了例外 这是我的作曲家文件 name laravel laravel description The Laravel Framework keyw
  • 通过 Facebook 图 api 点赞帖子

    你好 我对 facebook PHP SDK 没有什么问题 我想通过 facebook PHP SDK 点赞帖子或其他内容 我正在执行此代码 我认为它应该是正确的 但显然它不起作用 给定的错误代码是的 PHP SDK不知道这种POST请求

随机推荐

  • 添加 $ 并舍入小数点后 2 位 SQL

    我正在寻找格式化由子查询创建的输出 该子查询生成一个计算字段 我希望将其格式化为 XX XX 子查询 select avg retail from cars where brand FORD or brand TOYOTA as AVG B
  • 使用 ICC 配置文件将 RGB 转换为 CMYK

    我即将将 RGB 颜色转换为 CMYK 以便打印 此转换的规模是 Adob e Photoshop Image gt Mode gt CMYK color 我尝试了 2 个解决方案 但没有一个返回正确的值 解决方案 1 使用 NET Fra
  • webpack --watch 不编译更改的文件

    我尝试跑步webpack watch编辑我的 JS 文件后 它不会触发自动重新编译 我尝试过重新安装webpack using npm uninstall但它仍然不起作用 有任何想法吗 如果您的代码没有被重新编译 请尝试增加观察者的数量 在
  • 何时使用后值[重复]

    这个问题在这里已经有答案了 在下面的一段代码中 viewModelScope launch isLoading postValue true 我们在主线程中 因为viewModelScope launch默认在主线程上运行 与viewMod
  • 使用自定义消息捕获和处理 Jackson 异常

    我希望能够捕获我正在开发的 spring boot API 中发生的一些 Jackson 异常 例如 我有以下请求类 我想捕获当 JSON 请求对象中的 questionnaireResponse 键为 null 或空白时发生的错误 即 在
  • 局部变量与实例变量

    我对使用 XNA 构建的游戏的 C 优化进行了大量研究 但我仍然不太明白局部变量是否是实例变量 在不断更新和使用时会提供更好的性能 根据http www dotnetperls com optimization http www dotne
  • T-SQL 存储过程 - 动态 AND/OR 运算符

    我只是想知道 MS SQL Server 2005 中是否有一种方法可以将运算符作为存储过程参数传递 如果可能的话 我确实需要避免使用动态 SQL AppOperator AND WHERE 1 1 AppOperator 2 2 这并不是
  • Cruise Control .Net 服务器无法检测在 Starteam 上完成的修改

    我正在使用 Cruise Control Net 1 4 进行持续集成 并将其安装在我的 Windows 2000 桌面上 我有 Nant 0 85 用于构建 我的源代码控制位于 Borland Starteam 2005 中 我安装了 N
  • 如何将照片库加载到UICollectionView中?迅速

    我正在努力实现的目标 对于这个项目 我只会提到两个源文件 1 RPPhotoLibrary swift UICollectionViewController 和 2 PhotoThumbnail swift UICollectionView
  • git push ...致命:无法创建master.lock:文件存在

    帮助 当我尝试做一个git push origin master现在 我得到 fatal Unable to create home ubuntu workspace git refs remotes origin master lock
  • Asp.net Core 中的@Html.EnumDropDownListFor

    我正在 Asp net Core 中移植 MVC5 应用程序 我找不到 Html EnumDropDownListFor 它是否已被弃用并且有替代品吗 有没有任何文档可以让我找到所有这些小的重大更改 对于仍在寻找答案的任何人 在 ASP N
  • 长按手势弹出菜单

    我对 ios 和核心动画都很陌生 所以我正在做一些测试来适应它 我有一个菜单 我试图通过长按手势来创建 我希望按钮先向上动画 然后向下动画 然后消失 我让出现的部分工作了 但我不知道如何让它消失 它也不允许我在 UIGestureRecog
  • 关闭从 WebView 打开的全屏视频后出现白屏

    我有一个WebView带有嵌入的 youtube 视频 我已经使用简单的对话框解决方案实现了全屏模式 如下所示 webView setWebChromeClient new CustomWebChromeClient public clas
  • highcharts 工具提示错误日期

    我制作了一个高图表 该工具提示以格式显示日期和时间 但它显示了错误的日期和时间 请仔细阅读下面的代码 HTML 代码 div style min width 310px height 400px margin 0 div
  • 在Java中,是否可以转换为void(而不是Void)?

    我可以在 X 中添加任何内容来使以下工作正常进行 Object o void X void 理论上是一个原语 尽管大多数人不同意 甚至我怀疑 你不能将一个对象投射到它上面 最接近这一点的是 InvocableHandler 可以return
  • .NET 字符串的内部格式是什么?

    我正在 C NET 中编写一些漂亮的字符串操作密集型代码 并对我记得不久前读过的一些 Joel Spolsky 文章感到好奇 http www joelonsoftware com articles fog0000000319 html h
  • Android:图标不会出现在操作栏中

    我正在关注操作栏的 google 教程 但图标没有出现在上面 这是菜单 xml 文件 menu menu
  • Xcode 4.2 代码覆盖率

    我开始使用 Xcode 4 2 但在生成代码覆盖率方面遇到问题 Xcode 4 2 不包含 GCC 4 2 编译器 但已替换为 LLVM GCC 4 2 编译器 第一个用于在以前版本的 Xcode 中生成代码覆盖率 我按照 CoverSto
  • Vim 语法高亮不起作用

    我在我的笔记本电脑上安装了新的 Arch Linux 系统并下载了 vim 软件包 我没有更改 vimrc 文件 但语法突出显示似乎不适用于我尝试过的任何语言 Python Ruby CSharp C 自动格式化 gg G 也失败 到目前为
  • 支付宝移动支付在服务器端接收请求字符串

    我不完全确定这个问题有多受欢迎或者是否会得到任何答复 因为这个问题与中国开发者的关系比与国外开发者的关系更大 但是 我目前正在努力集成支付宝的服务器端脚本以接收移动电话成功请求字符串 我已经成功地向我的移动人员 通过在可怕的支付宝 API