php教程 php手册 支付宝开发中return_url和notify_url的区别介绍

支付宝开发中return_url和notify_url的区别介绍

May 25, 2016 pm 04:47 PM
request

在支付宝处理业务中return_url,notify_url是返回些什么状态呢,我们要根据它来做一些处理就必须了解return_url,notify_url的区别,下面我就来给各位介绍介绍。


问题描述:

我在处理支付宝业务中出现过这样的问题,付费完成后,在支付宝跳转到商家指定页面时,订单状态已经更新,通过调试发现是支付宝先通知notify_url,完成了订单状态。

支付宝return_url和notify_url通知顺序问题:

顺序不一定的,请别以先后顺序来做判断。具体如何判断,是根据您当前数据库里的状态和刚从支付宝里获取到的状态做对比来判断是否有做过处理了。 

关于支付宝return_url和notify_url的区别:

同步通知页面特性(return_url特性):

(1)   买家在支付成功后会看到一个支付宝提示交易成功的页面,该页面会停留几秒,然后会自动跳转回商户指定的同步通知页面(参数return_url);

(2)   该页面中获得参数的方式,需要使用GET方式获取,如request.QueryString("out_trade_no")、$_GET['out_trade_no'];

(3)   该方式仅仅在买家付款完成以后进行自动跳转,因此只会进行一次;

(4)   该方式不是支付宝主动去调用商户页面,而是支付宝的程序利用页面自动跳转的函数,使用户的当前页面自动跳转;

(5)   基于(4)的原因,可在本机而不是只能在服务器上进行调试;

(6)   返回URL只有一分钟的有效期,超过一分钟该链接地址会失效,验证则会失败;

(7)   设置页面跳转同步通知页面(return_url)的路径时,不要在页面文件的后面再加上自定义参数。例如:

错误的写法:

正确的写法:

 

服务器异步通知页面特性(notify_url特性):

(1)   必须保证服务器异步通知页面(notify_url)上无任何字符,如空格、HTML标签、开发系统自带抛出的异常提示信息等;

(2)   支付宝是用POST方式发送通知信息,因此该页面中获取参数的方式,如:

request.Form("out_trade_no")、$_POST['out_trade_no']。

(3)   支付宝主动发起通知,该方式才会被启用;

(4)   只有在支付宝的交易管理中存在该笔交易,且发生了交易状态的改变,支付宝才会通过该方式发起服务器通知(即时到账中交易状态为"等待买家付款"的状态默认是不会发送通知的);

(5)   服务器间的交互,不像页面跳转同步通知可以在页面上显示出来,这种交互方式是不可见的;

(6)   第一次交易状态改变(即时到账中此时交易状态是交易完成)时,不仅页面跳转同步通知页面会启用,而且服务器异步通知页面也会收到支付宝发来的处理结果通知;

(7)   程序执行完后必须打印输出"success"(不包含引号)。如果商户反馈给支付宝的字符不是success这7个字符,支付宝服务器会不断重发通知,直到超过24小时22分钟。

一般情况下,25小时以内完成8次通知(通知的间隔频率一般是:2m,10m,10m,1h,2h,6h,15h);

(8)   程序执行完成后,该页面不能执行页面跳转。如果执行页面跳转,支付宝会收不到success字符,会被支付宝服务器判定为该页面程序运行出现异常,而重发处理结果通知;

(9)   cookies、session等在此页面会失效,即无法获取这些数据;

(10)   该方式的调试与运行必须在服务器上,即互联网上能访问;

(11)   该方式的作用主要防止订单丢失,即页面跳转同步通知没有处理订单更新,它则去处理;

(12)   通知ID(参数notify_id)只有一分钟有效期,超过一分钟该次通知会验证失败。一旦验证成功下次再验证就会失效。


본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. 크로스 플레이가 있습니까?
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

PHP 요청은 무엇을 의미합니까? PHP 요청은 무엇을 의미합니까? Jul 07, 2021 pm 01:49 PM

요청의 중국어 의미는 "요청"입니다. PHP의 전역 변수이며 "$_POST", "$_GET" 및 "$_COOKIE"를 포함하는 배열입니다. "$_REQUEST" 변수는 POST 또는 GET으로 제출된 데이터 및 COOKIE 정보를 얻을 수 있습니다.

Python 3.x에서 urllib.request.urlopen() 함수를 사용하여 GET 요청을 보내는 방법 Python 3.x에서 urllib.request.urlopen() 함수를 사용하여 GET 요청을 보내는 방법 Jul 30, 2023 am 11:28 AM

Python3.x에서 urllib.request.urlopen() 함수를 사용하여 GET 요청을 보내는 방법 네트워크 프로그래밍에서는 HTTP 요청을 보내 원격 서버에서 데이터를 가져와야 하는 경우가 많습니다. Python에서는 urllib 모듈의 urllib.request.urlopen() 함수를 사용하여 HTTP 요청을 보내고 서버에서 반환된 응답을 얻을 수 있습니다. 이 기사에서는 사용 방법을 소개합니다.

PHP의 요청 객체란 무엇입니까? PHP의 요청 객체란 무엇입니까? Feb 27, 2024 pm 09:06 PM

PHP의 요청 객체는 클라이언트가 서버로 보낸 HTTP 요청을 처리하는 데 사용되는 객체입니다. Request 객체를 통해 요청 메소드, 요청 헤더 정보, 요청 매개변수 등과 같은 클라이언트의 요청 정보를 얻어 요청을 처리하고 응답할 수 있습니다. PHP에서는 $_REQUEST, $_GET, $_POST 등과 같은 전역 변수를 사용하여 요청된 정보를 얻을 수 있지만 이러한 변수는 객체가 아니라 배열입니다. 요청사항을 보다 유연하고 편리하게 처리하기 위해

Vue3 Axios 인터셉터를 요청 파일에 캡슐화하는 방법 Vue3 Axios 인터셉터를 요청 파일에 캡슐화하는 방법 May 19, 2023 am 11:49 AM

1. request.js라는 새 파일을 생성하고 Axios 가져오기: importaxiosfrom'axios' 2. request라는 함수를 생성하고 내보내기: request라는 함수를 생성하고 이를 내보냅니다. 기본 URL을 사용하여 새 Axios 인스턴스를 설정합니다. . 래핑된 Axios 인스턴스에 시간 초과 설정을 추가하려면 Axios 인스턴스를 생성할 때 시간 초과 옵션을 전달할 수 있습니다. 내보내기constrequest=axios.create({baseURL:'https://example.

PHP에서 요청의 역할과 중요성 PHP에서 요청의 역할과 중요성 Feb 27, 2024 pm 12:54 PM

PHP에서 요청의 역할과 중요성 PHP 프로그래밍에서 요청은 웹 서버에 요청을 보내는 메커니즘으로 웹 개발에서 중요한 역할을 합니다. 요청은 주로 양식 제출, GET 또는 POST 요청 등과 같이 클라이언트가 보낸 데이터를 얻는 데 사용됩니다. 요청을 통해 사용자가 입력한 데이터를 얻을 수 있으며 데이터를 처리하고 응답할 수 있습니다. 이 기사에서는 PHP에서 요청의 역할과 중요성을 소개하고 구체적인 코드 예제를 제공합니다.

PHP에서 요청이란 무엇입니까? PHP에서 요청이란 무엇입니까? Jun 01, 2023 am 10:12 AM

PHP의 요청은 요청을 의미하며, HTML 양식과 URL의 매개변수로 제출된 데이터를 수집하는 데 사용됩니다. $_request는 동시에 데이터를 얻을 수 있습니다. 연관 배열. 여기서 키는 양식 필드의 이름이고 값은 양식 필드의 값입니다. $_request 변수를 사용할 때 보안 문제를 방지하려면 사용자가 입력한 데이터를 항상 검증하고 필터링해야 합니다.

Go에서 컨텍스트를 사용하여 요청 매개변수 확인을 구현하는 방법 Go에서 컨텍스트를 사용하여 요청 매개변수 확인을 구현하는 방법 Jul 22, 2023 am 08:23 AM

Go에서 컨텍스트를 사용하여 요청 매개변수 확인을 구현하는 방법 소개: 백엔드 개발 프로세스 중에 매개변수의 합법성을 보장하기 위해 요청 매개변수를 확인해야 하는 경우가 많습니다. Go 언어는 요청 컨텍스트 정보를 처리하기 위한 컨텍스트 패키지를 제공하며, 우아한 디자인과 간단한 사용법으로 인해 일반적으로 사용되는 도구입니다. 이 기사에서는 Go의 컨텍스트 패키지를 사용하여 요청 매개변수 확인을 구현하는 방법을 소개하고 해당 코드 예제를 제공합니다. 컨텍스트 패키지 소개 Go에서 컨텍스트 패키지는 다음을 전달하는 데 사용됩니다.

urllib.request 모듈을 사용하여 Python 3.x에서 HTTP 요청을 보내는 방법 urllib.request 모듈을 사용하여 Python 3.x에서 HTTP 요청을 보내는 방법 Jul 30, 2023 am 11:21 AM

Python3.x에서 urllib.request 모듈을 사용하여 HTTP 요청을 보내는 방법 실제 개발 프로세스에서는 서버와 상호 작용하기 위해 HTTP 요청을 보내는 경우가 많습니다. Python은 URL 요청을 처리하기 위한 Python 표준 라이브러리의 모듈 중 하나인 urllib.request 모듈을 제공합니다. 이 기사에서는 urllib.request 모듈을 사용하여 HTTP 요청을 보내는 방법을 배웁니다.

See all articles