PHP Laravel 백엔드를 사용한 Paystack 결제 초기화

2975 단어
백엔드에서 급여 스택 트랜잭션을 초기화하는 것이 안전한 지불 통합을 구축하는 더 안전한 방법입니다.

이 콘텐츠에서는 테스트를 위해 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"
        }
    },




위의 이미지는 결제 링크를 클릭한 후 받은 응답입니다.

좋은 웹페이지 즐겨찾기