programing

Woocommerce용 ionic 앱에서 PayPal 결제는 어떻게 처리합니까?

topblog 2023. 2. 27. 23:20
반응형

Woocommerce용 ionic 앱에서 PayPal 결제는 어떻게 처리합니까?

저는 기본적으로 Woocommerce를 백엔드로 하는 쇼핑 카트인 ionic 2 앱을 만들고 있습니다.REST API는 매우 순조롭게 진행되어 왔습니다.앱에서 제품을 브라우즈하고 고객을 위한 주문을 작성할 수 있습니다.

그런데 지금은 결제처리가 안 돼요.앱은 PayPal만 사용하고, 사용하고 싶은 PayPal 플러그인이 있습니다.테스트해 본 적은 없지만, 구입 상세(가격, 통화, 설명...)를 전달하고 PayPal UI를 렌더링하는 것은 매우 간단한 것 같습니다.

PayPal UI에 모든 정보를 제공할 수 있지만, 어떻게 Woocommerce 오더와 통합할 수 있을까요?결제가 성공했을 때 Woocommerce가 등록하도록 하려면 어떻게 해야 하나요?

Woocommerce 설치는 이미 PayPal을 유효하게 하고 있습니다.PayPal은 웹사이트에서 사용할 수 있습니다.

PayPal의 IPN과 관련이 있다고 생각합니다.짐작컨대, 어떻게든 주문 ID를 PayPal 플러그인에 전달하면 IPN이 이 주문 ID를 Woocommerce에 전달할 수 있을까요?아마 그런 것 같습니다만, 제대로 된 문서를 찾을 수 없습니다.

"ionic 2 woocommerce paypal"을 검색하면 많은 사람들이 이와 거의 같은 소스코드를 판매합니다.하나를 사서 연구할 수는 있지만, 이 특정 작업에 대한 문서를 찾고 싶습니다.

거의 다 왔어요.플러그 인을 구입하지 않으시려면 수동으로 구입하시면 됩니다.예를 들어,notify_url파라미터를 지정합니다.pp_respond(또는 당신이 원하는 것)

여기에 이미지 설명 입력

고객님의 고객명functions.php, 다음 코드를 입력합니다.

if(isset($_GET['pp_respond'])){
    file_put_contents(__DIR__."/my_notificationssss.txt", $_SERVER['REQUEST_URI']. "\r\n". print_r($_POST,true) . "\r\n ------------- \r\n" , FILE_APPEND);
}

테스트 구입을 하고,functions.phpfile이라는 이름의 새 파일이 있을 것입니다.my-notificationssss.txt이 파일을 살펴보고 나중에 사용할 파라미터를 찾습니다.

하나의 해결책은 사용자를 Paypal로 보내기 전에 사용자 세션에 주문 정보를 추가하는 것입니다.

사용자가 Paypal을 통해 결제한 후 "성공" URL(PayPal 요청에서 지정됨)로 수정합니다.사용자가 이 성공 URL에 접속하면 세션 정보를 사용하여 WooCommerce에서 주문을 업데이트할 수 있습니다.

woo commerce source code를 보니 PayPal의 invoice number 섹션에 자체 주문 ID가 추가된 것 같습니다.

따라서 사이트에 woo commerce PayPal 플러그인이 있는 경우(IPN을 활성화해야 함), ionic 2의 paypal cordova 플러그인을 사용하여 woo commerce 주문 ID를 invoice Number로 전달할 수 있습니다.다음 예시와 같습니다.

번호를 하지만, 는 집 : woo commerce the 、 재 commerce는 the the the the the the the the the the the the 라고 생각합니다.customPARAM.

pay() {
    let payment = new PayPalPayment(this.data.price, this.data.currency, this.data.description, 'sale');
    payment.custom = JSON.stringify({ order_id: this.data.WOOCOMMERCE_ORDERID, order_key: this.data.WOOCOMMERCE_ORDERKEY });
    this.payPal.renderSinglePaymentUI(payment).then((response) => {
        console.log(response);
        // Successfully paid

        // Example sandbox response
        //
        // {
        //   "client": {
        //     "environment": "sandbox",
        //     "product_name": "PayPal ANDROID SDK",
        //     "paypal_sdk_version": "2.16.0",
        //     "platform": "iOS"
        //   },
        //   "response_type": "payment",
        //   "response": {
        //     "id": "PAY-1AB23456CD789012EF34GHIJ",
        //     "state": "approved",
        //     "create_time": "2016-10-03T13:33:33Z",
        //     "intent": "sale"
        //   }
        // }
    }, () => {
        // Error or render dialog closed without being successful
    });
}

언급URL : https://stackoverflow.com/questions/43080446/how-to-process-paypal-payments-in-an-ionic-app-for-woocommerce

반응형