>  기사  >  백엔드 개발  >  OpenCart에서 개인화된 결제 옵션 설계: 3부

OpenCart에서 개인화된 결제 옵션 설계: 3부

王林
王林원래의
2023-09-03 10:41:07888검색

이 시리즈를 따라오셨다면 맞춤형 결제 방법을 위해 백엔드에 설정한 파일 구조 유형에 대해 잘 알고 계실 것입니다. 이 시리즈의 이전 부분을 읽지 않았다면 이 시리즈를 계속하기 전에 먼저 읽어 보시기를 적극 권장합니다.

프론트엔드 부분에도 비슷한 파일 설정을 사용할 것입니다.

컨트롤러 설정

계속해서 들어가세요 catalog/controller/ payment/custom.php 创建控制器文件。将以下内容粘贴到新创建的控制器文件 custom.php.

으아악

보시다시피 두 가지 방법이 있습니다. index 方法将负责在表单提交到第三方支付网关时设置数据,而 callback 메서드는 타사 결제 게이트웨이의 응답 데이터를 처리하는 데 사용됩니다. 하지만 결제 게이트웨이에서 요구하는 경우 더 많은 방법을 정의할 수 있습니다. 이 예에서는 프로세스를 최대한 단순하게 유지합니다.

각 부분에 대해 자세히 알아볼까요? index 방법부터 시작하겠습니다.

먼저 언어 파일을 로드하고 Confirm 버튼의 값을 설정했습니다. 또한 결제 제출 양식에서 사용되는 action 속성도 설정했습니다. 귀하의 결제 대행사에 따라 이 설정을 변경해야 합니다.

으아악

다음으로 사용자의 활성 세션에서 주문 정보를 로드합니다.

으아악

주문 정보가 있는 경우 결제 게이트웨이 URL에 양식을 제출하는 데 사용될 숨겨진 변수의 데이터 설정을 진행합니다. 코드를 주의 깊게 살펴보면 이 시리즈의 이전 부분에서 관리자 구성 양식에서 설정한 사용자 정의 매개변수text_config_onetext_config_two도 사용하고 있음을 알 수 있습니다.

여기서 주목해야 할 또 다른 중요한 변수는 callbackurl,它保存支付网关在付款过程后将用户重定向回我们商店所使用的 URL。是的,查看 URL payment/custom/callback 应表明它将调用 callback방법입니다. 이 시점에서 살펴보겠습니다.

으아악

마지막으로 사용자 정의 템플릿 파일을 할당하고 custom.tpl 뷰를 렌더링합니다.

으아악

callback 메소드의 코드를 검토해 보겠습니다. 이 메서드는 사용자가 결제 대행사 사이트에서 매장으로 돌아올 때 호출됩니다.

먼저 orderid변수가 사용 가능한지 확인하고 진행합니다. 사용할 수 없는 경우 추가 처리가 중단됩니다.

으아악

다음으로 데이터베이스에서 주문 정보를 로드합니다. 마지막으로 결제 게이트웨이 응답에 success 표시가 있는지 확인하겠습니다. 그렇다면 그에 따라 주문 상태 정보를 계속 업데이트하겠습니다.

으아악

컨트롤러 설정은 여기까지입니다. 꽤 간단하지 않나요?

전통 모델

아시다시피 OpenCart에는 매장 내부 작업을 처리하기 위한 고유한 규칙과 표준이 있습니다. 결제 수단 감지를 위한 모델 설정의 경우입니다. 규칙에 따라 설정하면 자동으로 선택됩니다.

계속해서 들어가세요 catalog/model/ payment/custom.php 创建模型文件。将以下内容粘贴到新创建的模型文件 custom.php.

으아악

OpenCart는 결제 과정에서 유효한 결제 방법을 나열할 때 이 클래스를 사용합니다. 이 프로세스 동안 OpenCart는 백엔드에서 유효한 결제 방법 목록을 수집하고 각 방법에 대해 적절한 모델 클래스를 사용할 수 있는지 확인합니다. 결제 방법은 관련 모델 클래스를 사용할 수 있는 경우에만 나열됩니다.

이 설정에서 가장 중요한 것은 code 변수의 값입니다. 우리의 경우에는 이를 custom으로 정의합니다. 즉, 결제 방법을 선택하고 code 变量的值。在我们的例子中,我们将其定义为 custom,这意味着当您选择付款方式并按继续时,它将调用 payment/customcontinue

를 누르면 Payment/custom이 호출됩니다. 최종적으로 결제 게이트웨이 양식을 설정하는 내부 URL입니다.

간단히 말하면 프런트 엔드 결제 수단 감지 및 제대로 작동하기 위한 필수 파일이라고 할 수 있습니다.

언어 및 템플릿 파일

catalog/language/english/ payment/custom.php 创建语言文件。将以下内容粘贴到新创建的语言文件 custom.php이제 언어를 생성하고 파일을 보기만 하면 됩니다.

들어가세요.

으아악

매우 이해하기 쉽습니다. 결제 시 프런트엔드에 사용될 태그를 설정하기만 하면 됩니다.

catalog/view/theme/default/template/ payment/custom.tpl 创建模板文件。将以下内容粘贴到新创建的模板文件 custom.tpl계속해서 catalog/view/theme/default/template/ Payment/custom.tpl에 템플릿 파일을 생성하세요. 새로 생성된 템플릿 파일

에 다음 내용을 붙여넣습니다.

으아악 짐작하셨겠지만 이는 사용자가 주문 확인index 버튼을 클릭할 때 제출되는 양식입니다. 이전에 컨트롤러의

메서드에서 정의한 숨겨진 변수와 해당 값을 설정했습니다.

프런트엔드를 살펴보겠습니다: 🎜

在 OpenCart 中设计个性化支付选项:第 3 部分

전체 과정을 간단히 살펴보겠습니다:

  • 먼저 5단계: 결제 방법 태그에 등록될 수 있도록 결제 방법에 대한 모델 파일을 설정해야 합니다.
  • 다음으로 사용자가 다섯 번째 탭에서 Custom Payment Method를 선택하고 Continue 버튼을 클릭하면 OpenCart가 내부적으로 payment/custom URL,最终调用 index 方法并在第六个选项卡中呈现 custom.tpl 파일을 호출합니다.
  • 마지막으로 사용자가 주문 확인 버튼을 클릭하면 양식이 제출되고 사용자는 결제 게이트웨이 웹사이트로 이동하여 결제 프로세스가 시작됩니다. 결제 과정이 완료된 후 callbackurl 隐藏变量,用户将被重定向回我们的网站。当然,如果一切按预期运行,订单状态将作为 callback 방식의 일부로 업데이트됩니다.

결론

이 시리즈에서는 자신만의 결제 방법 모듈을 만들어 거의 모든 결제 방법을 설정하는 방법을 설명합니다. 이 시리즈를 즐기시고 유용한 정보를 얻으셨기를 바랍니다.

어떤 프레임워크에든 맞춤 콘텐츠를 만드는 것은 언제나 재미있지 않나요? 아래 의견 양식을 사용하여 언제든지 의견과 질문을 남길 수 있다는 점을 기억하세요.

위 내용은 OpenCart에서 개인화된 결제 옵션 설계: 3부의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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