1、沙箱环境使用说明

2、配置沙箱环境

复制一下文件中的内容

3、扫码后提示一下信息

导致这种错误的原因是我们使用了正式环境的支付宝APP扫描的沙箱环境下的付款二维码,解决办法就是使用沙箱版本的支付宝APP扫描或者使用沙箱版本的支付宝账号密码登录付款即可。

下载地址:https://ur.alipay.com/kIL

4、下载沙箱版钱包app,支付宝会提供测试账号,里面有余额。

使用以下账号登录沙箱钱包App

遇到问题:使用了https 电脑网页支付的异步通知死活收不到信息

通过 https://cryptoreport.websecurity.symantec.com/checker/ 检测 提示

解决办法:

配置一个http协议的域名,不要验证,则可以接受到异步通知的信息。重新配置支付回调配置文件信息

'notify_url' => 'http://http.tinywan.com/api/notify',
'return_url' => 'http://http.tinywan.com/api/return',

异步通知

{
"gmt_create": "2019-11-16+09%3A42%3A12",
"charset": "utf-8",
"gmt_payment": "2019-11-16+09%3A42%3A19",
"notify_time": "2019-11-16+09%3A42%3A20",
"subject": "Tinywan%E6%B5%8B%E8%AF%95%E5%95%86%E5%93%81",
"sign": "c2ndONot0oUd4ZP2aBfSav8Bd716RG3yICVohEn0peL44ORxFrD2EfMiabaaV5PXRJbrLi%2F0ypTK3alw6boOTcnG4eOEW7KIYZA7C6jcrbki2BOnj%2FxQGd2A2R8wo%2FFc0RQOIupWnIvuy5TOEx1aWDaPMae8JatUJIkpfDl6tQN3gkw4poLIngk7q%2FDR4oUGLvMB9qQ%2FSWXhvpzu8%2BclUdgIjbpUn%2B7C5K3gIjwxgeC2utzd%2F7o%2BWif86Hi7K9rMqLlch17sxud2kgeT1GuxDBIcDu8ZYy0MKtqDVtiBUtPnRpX46duKOtxVH4VqyJpX%2F8%2FPfoMs%2Fte1YkMpWu6PSw%3D%3D",
"buyer_id": "2088102169214338",
"invoice_amount": "200.00",
"version": "1.0",
"notify_id": "2019111600222094219014331000593195",
"fund_bill_list": "%5B%7B%22amount%22%3A%22200.00%22%2C%22fundChannel%22%3A%22ALIPAYACCOUNT%22%7D%5D",
"notify_type": "trade_status_sync",
"out_trade_no": "1573868513",
"total_amount": "200.00",
"trade_status": "TRADE_SUCCESS",
"trade_no": "2019111622001414331000043846",
"auth_app_id": "2016090900470841",
"receipt_amount": "200.00",
"point_amount": "0.00",
"app_id": "2016090900470841",
"buyer_pay_amount": "200.00",
"sign_type": "RSA2",
"seller_id": "2088102174818255"
}

同步参数

{
"charset": "utf-8",
"out_trade_no": "1573868513",
"method": "alipay.trade.page.pay.return",
"total_amount": "200.00",
"sign": "wXROS0xz107qQ68DFSpITPFlQitmXLZTUBHoBMV4Vn3NCjJRo0TcEb3ra4oGrT6Qm5C5WXpj1UL2aTB7FccGOJ3ismd2uKCr42PGESkWOUaNhnKDFly5940T3Anq7r2c37PaFZ7aiQai268UFDXiPwpw0U7hoZnTP1qEq89T7TJZplU8yFCoW1GjEpJMz7ggz1bV3GkoHomTbSvw/J8il7sk9kckvIFtjAZgVL+8Z+nPa/Zn8MhHCd5vLS9ZTl+6g5eUfyxP7RaljsVjCEK71mbmUC6CQpdyz4cGPexk/UZkQXXJCpW/Z4e8Gkd1z/B+dPLZmZs0Kzwp8n306sTXvA==",
"trade_no": "2019111622001414331000043846",
"auth_app_id": "2016090900470841",
"version": "v1",
"app_id": "2016090900470841",
"sign_type": "RSA2",
"seller_id": "2088102174818255",
"timestamp": "2019-11-16 09:42:27"
}

签名验证失败问题

// 签名验证
$aliPay = Pay::alipay($config);
$verifyData = $aliPay->verify(); // InvalidSignException

错误日志

INVALID_SIGN: Alipay Sign Verify FAILED

错误原因就是发起支付和异步回调加载的配置文件不统一造成的  

发起支付加载

public function pay()
{
$config = Config::get('pay.alipay');
// 沙箱模式
if ($isTrue = true) {
$config['mode'] = 'dev';
}
$order = [
'out_trade_no' => time(),
'total_amount' => rand(10,99),
'subject' => '测试商品'.rand(111,9999),
];
$alipay = Pay::alipay($config)->web($order);
return $alipay->send();
}

异步回调加载

$config = Config::get('pay.alipay');
// 沙箱模式
if ($isTrue = true) {
$config['mode'] = 'dev';
}
// 签名验证
$aliPay = Pay::alipay($config);
$verifyData = $aliPay->verify(); // InvalidSignException
Log::debug('[异步通知] 签名验证参数 ' . json_encode($verifyData));
Log::debug('[异步通知] 签名原始数据'.json_encode($verifyData->all()));
$verifyRes = 0;

配置文件注意

protected $config = [
....
// 这里加载的是支付宝的公钥,而不是应用公钥
'ali_public_key' =>'AB....',
// 加密方式: **RSA2**
'private_key' => 'MIIEpAIBAAKCAQE==',
....
];

参考:Android支付宝沙箱环境使用教程

支付系列 | 支付宝沙箱模式模拟支付相关推荐

  1. 如何使用java调取支付宝沙箱实现模拟支付?

    最近做了一个基于springboot+thymeleaf的一个电商平台,涉及到缓存与支付的核心实现,关于缓存我们之前讲解过好多了比如redis的缓存性注解,秒杀功能的实现等等. 今天主要的重点在于实现 ...

  2. SpringBoot集成支付宝沙箱手机网站支付详细流程和踩坑分享

    描述 本文主要讲解SpringBoot集成支付宝沙箱手机网站支付,即网页点击按钮发起支付,跳转到沙箱app付款 由于其他博客的流程大多笼统,有时候并不能找到正确的集成方式,本文尽可能详细的阐述付款,异 ...

  3. 支付宝沙箱环境 电脑支付

    项目场景: java语言,jdk1.8也可以使用 .支付宝沙箱环境电脑支付. 电脑端生成二维码,手机端扫描支付 AlipayConfig: APP 中接收数据代码: package com.hc;/* ...

  4. 免费沙箱软件模拟支付_支付(支付宝沙箱环境配置、测试支付Demo)

    1.注册沙箱环境 (1)概述 首先java的jdk中,并没有提供支付的功能,所以市面上用到的支付都属于第三方,而常用的第三方支付平台:支付宝sdk.微信sdk! 可以使用蚂蚁金服下的沙箱环境进行支付( ...

  5. 免费沙箱软件模拟支付_JAVA模拟支付宝支付-沙箱环境

    最近在个人的小项目中用到了沙箱环境下的支付宝支付功能,这里做一个总结和介绍. 配置 先去支付宝开发者文档-沙箱配置沙箱环境,这里主要注意沙箱环境密钥的设置方法,具体步骤文档都写的很清楚了. image ...

  6. 学习记录:关于Uniapp与Java实现支付宝沙箱APP内支付

    数据配置 支付宝开放平台 (alipay.com) 先来看看支付宝沙箱有用的信息 接口加签方式先选择系统默认密钥,启用下面的公钥模式,然后点击查看 我们需要获取和配置图上标注的信息,授权回调地址需要利 ...

  7. SpringBoot工程接入第三方支付渠道支付宝(C扫B支付)

    目录 1.C扫B的概念 2.支付宝接口调研 2.1.产品列表 2.2.线下场所接入支付 3.配置支付宝沙箱环境 3.1.简介 3.2.注册开放平台账号 3.3.配置密钥 3.4.沙箱账号 4.生成二维 ...

  8. 在线支付系列【19】微信支付开源框架汇总介绍

    有道无术,术尚可求,有术无道,止于术. 文章目录 前言 开源框架 WxJava[JAVA SDK 推荐] pay-java-parent[JAVA SDK] IJPay[JAVA SDK] jeepa ...

  9. 在线支付系列【7】微信支付接入指引

    有道无术,术尚可求,有术无道,止于术. 文章目录 接入模式 直连模式 服务商模式 接入指引 PC网站接入支付 申请材料 申请费用 申请流程 接入模式 微信支付目前提供两种接入方式:直连模式和服务商模式 ...

最新文章

  1. Android 资源保护问题——探索
  2. 座谈会:Apache基金会那些事儿
  3. 一站式开源测试平台:MeterSphere
  4. n阶乘的c语言代码,求10000的阶乘(c语言代码实现)
  5. 高通8xxx平台双MIC设置
  6. php-Arrays函数-array_flip-交换数组的键值
  7. java 单元测试技巧_其他一些单元测试技巧
  8. iPhone 6s不死!支持升级iOS 14,还能再战两年
  9. [2010-9-8]
  10. 856. Score of Parentheses
  11. 数字带通传输系统matlab仿真实验,基于MATLAB的数字带通传输系统设计
  12. 大学excel题库含答案_大学excel操作测试题「附答案」
  13. 欧姆龙编程软件(CXONE)使用教程
  14. CSF视频文件格式转换
  15. lan pci 联想开机_联想笔记本bios怎么设置 联想笔记本进入bios方法【详解】
  16. 利用信息差怎么赚钱?分享两个信息差赚钱项目
  17. java 导出数据设置进度条_java控制台输出百分比进度条示例
  18. 腾讯Bugly,简单实用的崩溃日志收集
  19. python 替换重复字符_python - 在Pandas中,如何将重复值替换为多个唯一字符串?_pandas_酷徒编程知识库...
  20. Gstore官网学习一:知识图谱与gStore介绍

热门文章

  1. 攻防世界WEB练习-favorite_number
  2. 攻防世界-favorite number
  3. 运营商,虚拟运营商 电信行业的 crm,计费,账务,bss,boss 系统整套解决方案讨论和分享
  4. 首尔大学研发“蜘蛛”传感器,可识别细微动作
  5. 打卡day02 python基础—列表
  6. 在centos7下安装python3.7.9并搭建scrapy2环境
  7. word文本框线形怎么设置_Word2010怎么设置文本框样式和颜色
  8. (转贴)一场虚拟世界的反歧视大战
  9. JavaScript高级知识汇总(高级篇)
  10. 遇到驱动器中的磁盘未被格式化咋解决?