추천: "PHP 비디오 튜토리얼"
환경 준비
- 페이팔 계정 등록
- 페이팔 개발자 계정 등록
- 페이팔 샌드박스 테스트 계정 만들기
- 페이팔 애플리케이션 만들기
- PHP SDK 다운로드
- 결제 구현
- 결제 성공 콜백 구현
- 환불 구현
- 더 많은 API 코드 템플릿
페이팔 계정 등록
- www.paypal.com 판매자 계정 등록
- 선택, "생성" " "가맹점 사용자" 필수 정보를 입력하고 등록 후 이메일로 가서 활성화
페이팔 개발자 계정을 등록하세요
- developer.paypal.com 이전에 등록한 계정을 사용하세요 로그인 단계
- 왼쪽 내비게이션 바 계정을 클릭하고 샌드박스 계정 2개를 생성하세요. 결제용 개인 계정(개인)과 수집용 판매자 계정(비즈니스)이 기본적으로 2개 생성됩니다. 쉽게 기억할 수 있도록 계정을 만들고, 다음 테스트를 위해 현재 계정에 잔액을 추가하세요.
- 방금 만든 테스트 계정으로 샌드박스 테스트 사이트에 로그인하여 금액과 거래정보를 확인하세요 www.sandbox.paypal.com
샌드박스 앱 만들기
- 계정 기본 애플리케이션에 의해 생성됩니다. 이를 보려면 클릭하여 저장하세요. 다음 인터페이스 호출에 사용됩니다(온라인으로 전환할 때 라이브 애플리케이션을 다시 생성하세요). SDK 다운로드
- 결제를 구현합니다.
composer require paypal/rest-api-sdk-php
다음은 결제를 생성하는 코드 조각, 의사 코드입니다 function createPayPal(){
$shippingPrice = 2;
$taxPrice = 0;
$subTotal = 26;
$item1 = new PayPal\Api\Item();
$item1->setName("产品2")->setCurrency("USD")->setQuantity(1)->setPrice(10);
$item2 = new PayPal\Api\Item();
$item2->setName("产品1")->setCurrency("USD")->setQuantity(2)->setPrice(8);
$itemList = new PayPal\Api\ItemList();
$itemList->addItems([$item1,$item2]);
// Set payment details
$details = new PayPal\Api\Details();
$details->setShipping($shippingPrice)->setTax($taxPrice)->setSubtotal($subTotal);
// Set payment amount
//注意,此处的subtotal,必须是产品数*产品价格,所有值必须是正确的,否则会报错
$total = $shippingPrice + $subTotal + $taxPrice;
$amount = new PayPal\Api\Amount();
$amount->setCurrency("USD")->setTotal($total)->setDetails($details);
// Set transaction object
$transaction = new PayPal\Api\Transaction();
$transaction->setAmount($amount)->setItemList($itemList)->setDescription("这是交易描述")
->setInvoiceNumber(uniqid());//setInvoiceNumber为支付唯一标识符,在使用时建议改成订单号
$payer = new PayPal\Api\Payer();
$payer->setPaymentMethod('paypal');//["credit_card", "paypal"]
$redirectUrls = new PayPal\Api\RedirectUrls();
$redirectUrl = "http://test.com/redirect/success";//支付成功跳转的回调
$cancelUrl = "http://test.com/redirect/cancel";//取消支付的回调
$redirectUrls->setReturnUrl($redirectUrl)->setCancelUrl($cancelUrl);
// Create the full payment object
$payment = new PayPal\Api\Payment();
$payment->setIntent("sale")->setPayer($payer)->setRedirectUrls($redirectUrls)->addTransaction($transaction);
try {
$clientId = "xxxxxx";//上面应用的clientId和secret
$secret = "XXXXXX";
$oAuth = new \PayPal\Auth\OAuthTokenCredential($clientId, $secret);
$apiContext = new \PayPal\Rest\ApiContext($oAuth);
if(env('APP_DEBUG') === false ){
$apiContext->setConfig(['mode' => 'live']);//设置线上环境,默认是sandbox
}
$payment->create($apiContext);
$approvalUrl = $payment->getApprovalLink();
dd($approvalUrl);//这个是请求支付的链接,在浏览器中请求此链接就会跳转到支付页面
} catch (\Exception $e) {
dd($e->getMessage());//错误提示
}
}
- 다음은 결제 성공을 위한 콜백 코드입니다. 의사 코드 Code
function payRedirect(Request $request) { $paymentID = $request->get('paymentId'); $payerId = $request->get('PayerID'); $clientId = "xxxxxx";//上面应用的clientId和secret $secret = "XXXXXX"; $oAuth = new \PayPal\Auth\OAuthTokenCredential($clientId, $secret); $apiContext = new \PayPal\Rest\ApiContext($oAuth); if(env('APP_DEBUG') === false ){ $apiContext->setConfig(['mode' => 'live']);//设置线上环境,默认是sandbox } $payment = \PayPal\Api\Payment::get($paymentID, $apiContext); $execute = new \PayPal\Api\PaymentExecution(); $execute->setPayerId($payerId); try{ $payment = $payment->execute($execute, $apiContext);//执行,从paypal获取支付结果 $paymentState = $payment->getState();//Possible values: created, approved, failed. $invoiceNum = $payment->getTransactions()[0]->getInvoiceNumber(); $payNum = $payment->getTransactions()[0]->getRelatedResources()[0]->getSale()->getId();//这是支付的流水单号,必须保存,在退款时会使用到 $total = $payment->getTransactions()[0]->getRelatedResources()[0]->getSale()->getAmount()->getTotal();//支付总金额 $transactionState = $payment->getTransactions()[0]->getRelatedResources()[0]->getSale()->getState();//Possible values: completed, partially_refunded, pending, refunded, denied. if($paymentState == 'approved' && $transactionState == 'completed'){ //处理成功的逻辑,例如:判断支付金额与订单金额,更新订单状态等 return "success";//返回成功标识 }else{ //paypal回调错误,paypal状态不正确 return "error";//返回错误标识 } }catch(\Exception $e){ dd($e->getMessage()); } }
- Refund
환불에는 결제 성공 전표 번호전표 1개가 있어야 합니다. 번호 복수 환불 가능
환불이 성공한 후에는 해당 계정의 거래 기록에 반영되지 않습니다. 테스트 시 테스트 계정에 로그인하여 잔액 변경 사항을 직접 기록하여 환불 여부를 확인하시기 바랍니다. 환불이 성공했습니다
-
판매자 계정에서 잔액이 줄어들고 처리 수수료가 증가합니다(처리 수수료는 이전 결제에서 초과 청구된 금액입니다). 사용자 계정의 잔액이 늘어납니다
function refundOrder() { try{ $refundRequest = new \PayPal\Api\RefundRequest(); $amount = new \PayPal\Api\Amount(); $amount->setCurrency("USD")->setTotal(10);//退总金额 $refundRequest->setAmount($amount); $refundRequest->setDescription("退款测试"); $sale = new \PayPal\Api\Sale(); $sale->setId("XXXXXXXXX");//支付单号,支付成功时保存的支付流水单号 $clientId = "xxxxxx";//上面应用的clientId和secret $secret = "XXXXXX"; $oAuth = new \PayPal\Auth\OAuthTokenCredential($clientId, $secret); $apiContext = new \PayPal\Rest\ApiContext($oAuth); if(env('APP_DEBUG') === false ){ $apiContext->setConfig(['mode' => 'live']);//设置线上环境,默认是sandbox } $detailedRefund = $sale->refundSale($refundRequest, $apiContext);//调接口 $refundState = $detailedRefund->getState();//Possible values: pending, completed, cancelled, failed. //var_dump($refundedSale); if($refundState == 'completed'){ //退款成功,返回 }else{ dd('paypal 退款失败, 状态不正确'); } }catch (\Exception $exception){ dd($exception->getMessage());//发生异常 } }
- 인터페이스 코드 더보기 예
-
http://paypal.github.io/PayPal-PHP-SDK/sample/
위 내용은 PHP를 PayPal 결제에 연결하는 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

여전히 인기있는 것은 사용 편의성, 유연성 및 강력한 생태계입니다. 1) 사용 편의성과 간단한 구문은 초보자에게 첫 번째 선택입니다. 2) 웹 개발, HTTP 요청 및 데이터베이스와의 우수한 상호 작용과 밀접하게 통합되었습니다. 3) 거대한 생태계는 풍부한 도구와 라이브러리를 제공합니다. 4) 활성 커뮤니티와 오픈 소스 자연은 새로운 요구와 기술 동향에 맞게 조정됩니다.

PHP와 Python은 웹 개발, 데이터 처리 및 자동화 작업에 널리 사용되는 고급 프로그래밍 언어입니다. 1.PHP는 종종 동적 웹 사이트 및 컨텐츠 관리 시스템을 구축하는 데 사용되며 Python은 종종 웹 프레임 워크 및 데이터 과학을 구축하는 데 사용됩니다. 2.PHP는 Echo를 사용하여 콘텐츠를 출력하고 Python은 인쇄를 사용합니다. 3. 객체 지향 프로그래밍을 지원하지만 구문과 키워드는 다릅니다. 4. PHP는 약한 유형 변환을 지원하는 반면, 파이썬은 더 엄격합니다. 5. PHP 성능 최적화에는 Opcache 및 비동기 프로그래밍 사용이 포함되며 Python은 Cprofile 및 비동기 프로그래밍을 사용합니다.

PHP는 주로 절차 적 프로그래밍이지만 객체 지향 프로그래밍 (OOP)도 지원합니다. Python은 OOP, 기능 및 절차 프로그래밍을 포함한 다양한 패러다임을 지원합니다. PHP는 웹 개발에 적합하며 Python은 데이터 분석 및 기계 학습과 같은 다양한 응용 프로그램에 적합합니다.

PHP는 1994 년에 시작되었으며 Rasmuslerdorf에 의해 개발되었습니다. 원래 웹 사이트 방문자를 추적하는 데 사용되었으며 점차 서버 측 스크립팅 언어로 진화했으며 웹 개발에 널리 사용되었습니다. Python은 1980 년대 후반 Guidovan Rossum에 의해 개발되었으며 1991 년에 처음 출시되었습니다. 코드 가독성과 단순성을 강조하며 과학 컴퓨팅, 데이터 분석 및 기타 분야에 적합합니다.

PHP는 웹 개발 및 빠른 프로토 타이핑에 적합하며 Python은 데이터 과학 및 기계 학습에 적합합니다. 1.PHP는 간단한 구문과 함께 동적 웹 개발에 사용되며 빠른 개발에 적합합니다. 2. Python은 간결한 구문을 가지고 있으며 여러 분야에 적합하며 강력한 라이브러리 생태계가 있습니다.

PHP는 현대화 프로세스에서 많은 웹 사이트 및 응용 프로그램을 지원하고 프레임 워크를 통해 개발 요구에 적응하기 때문에 여전히 중요합니다. 1.PHP7은 성능을 향상시키고 새로운 기능을 소개합니다. 2. Laravel, Symfony 및 Codeigniter와 같은 현대 프레임 워크는 개발을 단순화하고 코드 품질을 향상시킵니다. 3. 성능 최적화 및 모범 사례는 응용 프로그램 효율성을 더욱 향상시킵니다.

phphassignificallyimpactedwebdevelopmentandextendsbeyondit

PHP 유형은 코드 품질과 가독성을 향상시키기위한 프롬프트입니다. 1) 스칼라 유형 팁 : PHP7.0이므로 int, float 등과 같은 기능 매개 변수에 기본 데이터 유형을 지정할 수 있습니다. 2) 반환 유형 프롬프트 : 기능 반환 값 유형의 일관성을 확인하십시오. 3) Union 유형 프롬프트 : PHP8.0이므로 기능 매개 변수 또는 반환 값에 여러 유형을 지정할 수 있습니다. 4) Nullable 유형 프롬프트 : NULL 값을 포함하고 널 값을 반환 할 수있는 기능을 포함 할 수 있습니다.


핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

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

Dreamweaver Mac版
시각적 웹 개발 도구

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

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

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.
