PHP Laravel 백엔드를 사용한 Paystack 결제 초기화
이 콘텐츠에서는 테스트를 위해 Postman을 사용할 것입니다. Postman을 처음 사용하는 경우 에서 내 게시물을 확인하십시오.
경로 만들기
원하는 이름으로
api.php
파일에 경로를 만듭니다.Route::post('initialize_paystack', [PaystackController::class, 'initialize_paystack'])->name('api.initialize_paystack');
컨트롤러 만들기
이 솔루션에는
PaystackController
라는 컨트롤러와 initialize_paystack
라는 컨트롤러 내부의 함수가 있습니다.결제를 초기화하려면 아래 코드를 참조하세요.
private $initialize_url = "https://api.paystack.co/transaction/initialize";
public function initialize_paystack(Request $request)
{
// $amount = number_format($request->amount,2);
$fields = [
'email' => $request->user()->email,
'amount' => $request->amount * 100,
];
$fields_string = http_build_query($fields);
//open connection
$ch = curl_init();
//set the url, number of POST vars, POST data
curl_setopt($ch,CURLOPT_URL, $this->initialize_url);
curl_setopt($ch,CURLOPT_POST, true);
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Authorization: Bearer ".env('PAYSTACK_SECRET_KEY'),
"Cache-Control: no-cache",
));
//So that curl_exec returns the contents of the cURL; rather than echoing it
curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);
//execute post
$result = curl_exec($ch);
$response = json_decode($result);
return json_encode([
'data' => $response,
'metadata' => [
'payment_for' => 'token'
]
]);
}
우편 배달부에서 데이터 보내기
초기화를 트리거하기 위해 프런트엔드에서도 보낼 수 있는 우편 배달부로부터
amount
를 보내겠습니다.귀하의 응답은 지불을 하거나 프론트 엔드로 돌아가는 데 사용할 수 있는 지불 링크를 반환합니다.
"data": {
"status": true,
"message": "Authorization URL created",
"data": {
"authorization_url": "https://checkout.paystack.com/zbm34791mm5t9wk",
"access_code": "zbm34791mm5t9wk",
"reference": "dod8hghbhc"
}
},
위의 이미지는 결제 링크를 클릭한 후 받은 응답입니다.
Reference
이 문제에 관하여(PHP Laravel 백엔드를 사용한 Paystack 결제 초기화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/nobleokechi/paystack-payment-initialization-using-php-laravel-backend-4pah텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)