>  기사  >  백엔드 개발  >  PHP 온라인 결제 기능 구현(Alipay)

PHP 온라인 결제 기능 구현(Alipay)

PHPz
PHPz원래의
2017-04-04 14:51:187716검색
전자상거래 웹사이트를 구현하는 과정에서 결제 기능이 포함되는 경우가 많습니다. 현재 가장 많이 사용되는 타사 결제는 Alipay와 WeChat입니다. 은행은 확실한 강점과 신뢰성을 갖춘 제3자 독립 기관이 제공하는 거래 지원 플랫폼을 보유하고 있습니다. 제3자 결제 플랫폼을 통한 거래에서 구매자는 상품을 구매한 후 제3자 플랫폼에서 제공하는 계정을 사용하여 상품 대금을 결제하고, 제3자는 판매자에게 상품 도착을 통보합니다. 이 기사에서는 Alipay 액세스를 예로 들어 설명합니다.

1. 기본 흐름도

PHP 온라인 결제 기능 구현(Alipay)

결제 프로세스

2. 1) 사용자가 쇼핑몰 웹사이트에 주문 확인 요청을 시작합니다(예: 지금 구매 클릭)

(2) 쇼핑몰 웹사이트는 요청을 수신하고 주문 데이터를 데이터베이스 또는 기타 저장 매체에 저장합니다

(3) 주문 확인 페이지로 돌아갑니다. 주문 금액 및 기타 정보가 표시되어야 하는 페이지입니다(지금 구매를 클릭한 후 주문 인터페이스)
(4) 사용자가 결제를 확인하고 결제 요청을 시작합니다. 참고: 결제 요청은 쇼핑몰 웹사이트가 아닌 결제 게이트웨이(Alipay, 온라인 뱅킹 등)로 전송됩니다.
(5) 결제 페이지 표시(이 인터페이스는 Alipay와 동일한 인터페이스입니다)
(6) 사용자가 인증 정보를 입력하고 제출합니다(QR 코드를 스캔하는 것이 비교적 편리합니다)
(7 ) 여기에는 두 가지 단계가 있습니다. 하나는 차감이 성공한 후 결제 결과 페이지(사용자에게 표시됨)로 이동하고, 다른 하나는 결제 알림입니다. 특정 주문에 대한 결제 알림을 받은 후 쇼핑몰 웹사이트는
확인 규칙
정보의 유효성을 확인하고 해당 정보를 변경합니다(예: 유효한 경우 주문을 유료 상태로 변경 유효하지 않은 경우 주문을 미결제 상태로 변경하십시오). Alipay를 예로 들면: Alipay 인터페이스

를 웹 사이트에 통합하려면 먼저 Alipay 계정이 있어야 하며 Alipay에 온라인 결제 사업을 신청하고 계약을 체결해야 합니다. . 계약이 발효되면 Alipay는 웹 사이트에 파트너 ID와

보안 인증 코드를 제공합니다. 이 두 가지를 사용하면 단계에 표시된 대로 Alipay 인터페이스 문서에 따라 Alipay 인터페이스를 개발할 수 있습니다. 위의 4단계와 7단계에서만 쇼핑몰과 결제 게이트웨이 간에 정보 교환이 이루어집니다. 4단계는 결제 게이트웨이(Alipay)로 데이터를 전송하는 것을 의미하며, 7단계는 알림 확인 부분으로, 확인 게이트웨이에서 해당 웹사이트의 특정 주소를 요청하고 해당 정보를 확인하고 응답합니다. 거의 모든 결제 인터페이스를 개발하고 있는데, 이 두 부분의 개발에 중점을 두고 있습니다. 결제 인터페이스의 원리를 이해한다면 결제 인터페이스를 개발하는 것은 어렵지 않을 것입니다. 전체 프로세스를 테스트하려면 판매자 계정(서명 계정)이 필요하다는 점을 강조해야 합니다. 즉, Alipay 검토 통과되면 결제계좌번호를 입력하시면 진행됩니다. (개인이 이용할 수 있는 경우는 거의 없습니다. 개발 시 회사 이름으로 신청할 수 있습니다.) 3. Alipay 인터페이스 액세스인터페이스

소개

및 테스트

현재 Alipay는 거래 보장, 표준 즉시 결제, 이중 기능 등 여러 인터페이스를 제공하고 있지만 기능에는 약간의 차이만 있을 뿐 웹사이트 통합 방식은 동일합니다. 표준 인스턴트 계정 인터페이스를 예로 들면, Alipay와 계약을 체결한 후(즉, 공식 판매자가 된 후) 통합을 완료하려면 몇 가지 단계가 필요합니다. 각 기능에 대해 Alipay의 개발자 플랫폼에는 자세한 단계와 사례 연구가 나열되어 있습니다. 계약 체결 방법에 대한 자세한 내용은 Alipay 인증

을 참조하세요. 아래에서는 즉시 결제의 비즈니스 로직 프로세스를 보여줍니다.
1단계: 구매자가 원하는 제품을 선택합니다

1단계: 지금 구매 클릭PHP 온라인 결제 기능 구현(Alipay)
2단계: 결제 페이지로 이동

1. 사용자는 모바일 지갑을 열고 다음을 선택할 수 있습니다. "스캔 스캔" 화면을 겨냥하여 QR 코드를 스캔하고 휴대폰에 결제 메시지가 표시될 때까지 기다린 후 결제 도구를 선택하고 비밀번호를 입력하여 결제하세요.

스캔


2. 모바일 결제를 원치 않으시면 위 그림과 같이 페이지 오른쪽의 "로그인 계정 결제"를 클릭하신 후 알리페이를 입력하세요. 로그인을 위한 계정과 비밀번호.

PHP 온라인 결제 기능 구현(Alipay)

결제하려면 계정에 로그인하세요

3단계: 구매자가 결제 수단 선택

PHP 온라인 결제 기능 구현(Alipay)

결제 수단 선택

4단계: 결제 성공

PHP 온라인 결제 기능 구현(Alipay)

결제 성공

액세스 단계를 보여드리겠습니다.

1단계: PID를 가져오고 개발자는 오픈 플랫폼에 로그인한 후 " 계정 및 키 관리'를 오른쪽 상단에 표시하세요.

PHP 온라인 결제 기능 구현(Alipay)

PID 가져오기

2단계: "파트너 키"를 선택하여 파트너 ID(PID)를 쿼리합니다. 2088로 시작하는 16자리 순수 숫자입니다.

PHP 온라인 결제 기능 구현(Alipay)

3단계: 비밀 키 구성

Alipay DSA, RSA, MD5를 참고하세요 세 가지 서명 방법, Alipay에서 제공하는 공식 도구를 사용하는 것이 좋습니다. 여기를 클릭하여 이동하세요.

4단계: 프로젝트 접속

(1) 공식 파일(데모)을 다운로드한 후 클릭하여 다운로드하세요.
(2) DEMO에서 개발자 정보를 구성하고 디렉터리에서 alipay.config.php 파일을 찾아 열어보면 내용은 다음과 같습니다.

PHP 온라인 결제 기능 구현(Alipay)

구성 코드


(3) 해당 구성에 대한 구성 파일에서 다음 매개변수를 찾습니다.

PHP 온라인 결제 기능 구현(Alipay)

매개변수

PHP 온라인 결제 기능 구현(Alipay)

이 부분 찾기


(4) 선택하는 경우 MD5 서명 방법은 MD5 방법에 따라 구성하세요. 자세한 내용은
(5) php 코드에 연결하는 세 번째 단계를 참조하세요api.php , 이 파일은 주문 정보를 받아들이는 데 사용되며 주문 매개변수는 게시물 형식으로 이 파일에 전달됩니다. 이 파일은 참조alipay.config.php이므로 모든 사람이 사용할 수 있습니다. 기본 구성이 정확해야 합니다. 매개변수를 성공적으로 수락한 후 Alipay가 미리 작성한 결제 인터페이스로 이동합니다.

PHP 온라인 결제 기능 구현(Alipay)

alipayapi.php 파일

(6) 결제 결과 수락: 동기 반환(동기 점프 알림) 및 비동기 콜백( 비동기 알림). 구성 파일에는
return_url 및notification_url이라는 두 가지 매개 변수가 있으며, DEMO의 return_url 페이지와 inform_url 페이지에 각각 구성할 수 있습니다. 동기 반환은 GET 메서드를 사용하여 가져오고, 비동기 알림은 POST 메서드를 사용하여 가져옵니다. 동기 반환 확인에는 1분의 제한 시간이 있으며 비동기 알림 확인에는 시간 제한이 없습니다. return_url 페이지와 inform_url 페이지 모두 AlipayNotify.verify() 서명 확인 방법을 사용하여 데이터를 확인합니다. (7) 최종 판단: return 매개변수의 trade_status 필드(거래 상태)로 판단하고 실행 비즈니스 로직 코드를 작성합니다.

PHP 온라인 결제 기능 구현(Alipay)

스크린샷 2016-12-15 16.30.28.png

참고: inform_url 페이지는 성공, 비동기 알림만 반환할 수 있습니다. 페이지의 HTML 코드일 수 없습니다. 결제 결과는 비동기 알림을 참고해주세요.

위 내용은 PHP 온라인 결제 기능 구현(Alipay)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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