php教程 php手册 修改zen-cart下单和付款流程以防止漏单

修改zen-cart下单和付款流程以防止漏单

Jun 13, 2016 am 11:37 AM
주문하기 할 수 없다 지불 ~에 의해 개정하다 뒤쪽에 그리고 지불하다 프로세스 제3자 웹사이트 입력하다 예방하다

zen-cart进入第三方支付网站后,如果不能正常返回,则会造成客户已付款但后台却无订单数据的尴尬局面。本文就针对该问题给出一种解决方案,希望对被同样问题困扰的同行有所帮助。

用过zen-cart的人都知道,zen-cart中下单步骤是下面这样的(其中[]中的表示不是必须的):

1. 购物车(shopping cart)

2. [货运方式(delivery method)]

3. 支付方式(payment method)

4. 订单确认(confirmation)

5. [第三方网站支付]

6. 订单处理(checkout process)——这一步比较重要,因为会在这里将购物车中的信息写入订单

7. 下单成功(checkout success)

这样的流程在正常情况下是没有任何问题的。但是,从第5步到第6部的过程中,用户可能以为付款成功就直接关闭掉网页了,或者由于网络原因造成不能正常跳转到checkout_process页面,这样造成的后果是很严重的,因为订单不能被正常的创建。

基于上述的分析, 我们希望稍微地改变一下流程,即在支付之前订单已经创建好了,这样就算在支付时不能从第三方支付网站跳转回来,我们也不会存在用户付款成功却在后台没有订单的情况了。经过修改后的蓝图基本是下面这样的:

1. 在checkour_confirmation页面确认订单后,都会直接proccess,并且进入checkour_success页面,可以在这里进入付款页面。如下图所示:

2. 如果当时客户没能付款,也可进入自己的后台对历史订单进行付款。如下图所示:

下面我们就来看看如何一步一步来实现上述的功能。

1. 首先我们需要对现有的支付模块进行一个改造。需要对支付方式的class增加一个字段paynow_action_url,用来表示进行支付的页面url,另外还需要增加一个函数,paynow_button($order_id),来获取支付表单的参数隐藏域代码。

要增加paynow_action_url字段,请在类payment的构造函数中最后加上下面的代码:

if ( (zen_not_null($module)) && (in_array($module.'.php', $this->modules)) && (isset($GLOBALS[$module]->paynow_action_url)) ) {
$this->paynow_action_url = $GLOBALS[$module]->paynow_action_url;
}
要增加paynow_button($order_id)函数,请在payment类的最后一个函数之后加上如下的代码:

function paynow_button($order_id){
if (is_array($this->modules)) {
if (is_object($GLOBALS[$this->selected_module])) {
return $GLOBALS[$this->selected_module]->paynow_button($order_id);
}
}
}
2. 以paypal支付方式为例子,说明如何具体实现。为了不破坏paypal原有的代码,我们将paypal.php文件拷贝一个副本出来,并命名为paypalsimple.php,并对里面的代码做适当的修改。代码如下所示,可以看到,这里去掉了对form_action_url的指定,并给定了paynow_action_url,因为我们希望用户点击“确认订单”后直接进入checkout_process,所以如果不指定form_action_url,那么确认订单的表单就会直接提交到checkout_process页面了,而paynow_action_url就是以前的form_action_url的值。paynow_button函数的实现也很简单,这里只是将原先的process_button()函数的内容剪切过来而已,只不过我们没有使用全局的$order变量,而是使用$order = new order($order_id),来重新构造的一个对象,这样做是为在历史订单中显示pay now按钮做准备的。

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

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

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

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

딩톡 그룹 내 개인 이름 변경 방법_딩톡 그룹 내 개인 이름 수정 방법 딩톡 그룹 내 개인 이름 변경 방법_딩톡 그룹 내 개인 이름 수정 방법 Mar 29, 2024 pm 08:41 PM

1. 먼저 딩톡을 실행하세요. 2. 그룹 채팅을 열고 오른쪽 상단에 있는 점 3개를 클릭하세요. 3. 이 그룹에서 내 닉네임을 찾아보세요. 4. 입력하여 수정하고 저장하려면 클릭하세요.

Baidu 지도에서 택시 요금을 결제하는 방법 택시 요금 결제 단계를 소개합니다. Baidu 지도에서 택시 요금을 결제하는 방법 택시 요금 결제 단계를 소개합니다. Mar 13, 2024 am 10:04 AM

Baidu 지도 앱은 이제 많은 사용자가 선호하는 여행 내비게이션 소프트웨어가 되었습니다. 따라서 여기에 있는 일부 기능은 포괄적이며 무료로 선택 및 작동하여 일상 여행에서 발생할 수 있는 일부 문제를 해결할 수 있습니다. 자신만의 여행 경로를 선택하고, 자신만의 여행 계획을 세우고, 해당 경로를 확인한 후 자신의 필요에 따라 적절한 여행 방법을 선택할 수 있습니다. 따라서 대중교통을 선택하든, 자전거를 타든, 걷든, 택시를 타든 모두 만족할 수 있습니다. 귀하의 필요에 따라 귀하를 특정 장소로 ​​성공적으로 안내할 수 있는 해당 내비게이션 경로가 있습니다. 그러면 모든 사람이 택시를 선택하면 더 편리하게 느낄 것입니다. 그들은 모두 온라인으로 주문을 받을 수 있습니다. 슈퍼가 되다

Douyin Blue V가 이름을 바꿀 수 있나요? 기업 Douyin Blue V 계정의 이름을 변경하는 단계는 무엇입니까? Douyin Blue V가 이름을 바꿀 수 있나요? 기업 Douyin Blue V 계정의 이름을 변경하는 단계는 무엇입니까? Mar 22, 2024 pm 12:51 PM

Douyin Blue V 인증은 Douyin 플랫폼에 있는 회사 또는 브랜드의 공식 인증으로 브랜드 이미지와 신뢰성을 높이는 데 도움이 됩니다. 기업 개발 전략 조정 또는 브랜드 이미지 업데이트로 인해 회사는 Douyin Blue V 인증의 이름을 변경할 수 있습니다. 그럼 Douyin Blue V가 이름을 바꿀 수 있을까요? 대답은 '예'입니다. 이 글에서는 기업 Douyin Blue V 계정의 이름을 수정하는 단계를 자세히 소개합니다. 1. Douyin Blue V의 이름을 변경할 수 있나요? Douyin Blue V 계정의 이름을 변경할 수 있습니다. Douyin의 공식 규정에 따라 기업 Blue V 인증 계정은 특정 조건을 충족한 후 계정 이름 변경을 신청할 수 있습니다. 일반적으로 기업은 이름 변경의 적법성과 필요성을 입증하기 위해 영업 허가증, 조직 코드 인증서 등과 같은 관련 지원 자료를 제공해야 합니다. 2. 기업 Douyin Blue V 계정의 이름을 수정하려면 어떤 단계를 거쳐야 합니까?

여러 개의 Toutiao 계좌를 개설하는 방법은 무엇입니까? Toutiao 계정을 신청하는 절차는 무엇입니까? 여러 개의 Toutiao 계좌를 개설하는 방법은 무엇입니까? Toutiao 계정을 신청하는 절차는 무엇입니까? Mar 22, 2024 am 11:00 AM

모바일 인터넷의 인기로 인해 Toutiao는 우리나라에서 가장 인기 있는 뉴스 정보 플랫폼 중 하나가 되었습니다. 많은 사용자는 다양한 요구 사항을 충족하기 위해 Toutiao 플랫폼에 여러 계정을 갖고 싶어합니다. 그렇다면 여러 개의 Toutiao 계정을 개설하는 방법은 무엇입니까? 이번 글에서는 터우탸오(Toutiao) 계좌를 여러 개 개설하는 방법과 신청 과정을 자세히 소개하겠습니다. 1. Toutiao 계정을 여러 개 개설하는 방법은 무엇입니까? 여러 개의 Toutiao 계정을 개설하는 방법은 다음과 같습니다. Toutiao 플랫폼에서 사용자는 다양한 휴대폰 번호를 통해 계정을 등록할 수 있습니다. 각 휴대폰 번호는 하나의 Toutiao 계정만 등록할 수 있습니다. 즉, 사용자는 여러 휴대폰 번호를 사용하여 여러 계정을 등록할 수 있습니다. 2. 이메일 등록: 다른 이메일 주소를 사용하여 Toutiao 계정을 등록하세요. 휴대폰 번호 등록과 마찬가지로 각 이메일 주소도 Toutiao 계정을 등록할 수 있습니다. 3. 타사 계정으로 로그인

Win10 절전 시간 수정 팁 공개 Win10 절전 시간 수정 팁 공개 Mar 08, 2024 pm 06:39 PM

Win10 절전 시간 수정 팁 공개 현재 널리 사용되는 운영체제 중 하나인 Windows 10에는 사용자가 컴퓨터를 사용하지 않을 때 전원을 절약하고 화면을 보호할 수 있도록 절전 기능이 있습니다. 그러나 기본 절전 시간이 사용자의 요구 사항을 충족하지 못하는 경우도 있으므로 Win10 절전 시간을 수정하는 방법을 아는 것이 특히 중요합니다. 이 문서에서는 Win10의 절전 시간을 수정하여 시스템의 절전 설정을 쉽게 사용자 지정할 수 있는 팁을 공개합니다. 1. "설정"을 통해 Win10 절전 시간 수정 먼저, 가장 간단한 수정

Xianyu에 게시된 제품의 주소 위치를 수정하는 방법 Xianyu에 게시된 제품의 주소 위치를 수정하는 방법 Mar 28, 2024 pm 03:36 PM

Xianyu 플랫폼에 제품을 게시할 때 사용자는 실제 상황에 따라 제품의 지리적 위치 정보를 맞춤화할 수 있으므로 잠재 구매자가 제품의 특정 위치를 보다 정확하게 파악할 수 있습니다. 제품이 성공적으로 선반에 올려지면 판매자의 위치가 변경되더라도 걱정할 필요가 없습니다. Xianyu 플랫폼은 유연하고 편리한 수정 기능을 제공합니다. 그러면 게시된 제품의 주소를 수정하려면 어떻게 해야 합니까? 이 튜토리얼 가이드에서는 자세한 단계별 가이드를 제공할 수 있기를 바랍니다. 도와주세요! Xianyu에서 출시 제품 주소를 수정하는 방법은 무엇입니까? 1. Xianyu를 열고 내가 게시한 내용을 클릭한 후 제품을 선택하고 편집을 클릭합니다. 2. 위치 아이콘을 클릭하고 설정하려는 주소를 선택하세요.

Douyin 수면 앵커가 되는 것이 수익성이 있습니까? 수면 라이브 스트리밍의 구체적인 절차는 무엇입니까? Douyin 수면 앵커가 되는 것이 수익성이 있습니까? 수면 라이브 스트리밍의 구체적인 절차는 무엇입니까? Mar 21, 2024 pm 04:41 PM

오늘날 빠르게 변화하는 사회에서 수면의 질 문제는 점점 더 많은 사람들을 괴롭히고 있습니다. 사용자의 수면 품질을 향상시키기 위해 Douyin 플랫폼에 특수 수면 앵커 그룹이 등장했습니다. 라이브 방송을 통해 사용자와 소통하고, 수면 팁을 공유하며, 편안한 음악과 사운드를 제공하여 시청자가 편안하게 잠들 수 있도록 도와줍니다. 그렇다면 이러한 수면 앵커는 수익성이 있습니까? 이 기사에서는 이 문제에 중점을 둘 것입니다. 1. Douyin 수면 앵커는 수익성이 있습니까? Douyin 수면 앵커는 실제로 특정 이익을 얻을 수 있습니다. 첫째, 생방송실 내 팁 기능을 통해 선물과 양도를 받을 수 있으며, 이러한 혜택은 팬 수와 시청자 만족도에 따라 달라집니다. 둘째, Douyin 플랫폼은 생방송의 조회수, 좋아요, 공유 및 기타 데이터를 기반으로 앵커에게 특정 공유를 제공합니다. 일부 수면 앵커는 또한

메이투안 테이크아웃 익스프레스 결제 종료 방법 메이투안 테이크아웃 익스프레스 결제 종료 방법 Mar 27, 2024 am 10:41 AM

빠르게 변화하는 현대 생활 속에서 Meituan Takeaway는 편리한 서비스와 풍부한 선택으로 소비자들에게 깊은 사랑을 받고 있습니다. 그 중 초고속 결제 기능은 번거로운 입력 단계를 없애고 한 번의 클릭으로 결제를 완료할 수 있어 사용자에게 큰 편의성을 제공합니다. 하지만 많은 사용자들은 확인 없이 직접 결제하는 것을 좋아하지 않아 이 기능을 끄고 싶어합니다. 그렇다면 Meituan Waimai의 빠른 결제를 끄는 방법은 무엇입니까? 다음에서는 이 웹사이트의 편집자가 자세한 단계별 설정 튜토리얼을 제공할 것입니다. 이 튜토리얼이 도움이 되기를 바랍니다! 1. 휴대폰 바탕화면에서 '메이투안 테이크아웃' 바로가기 아이콘을 클릭하세요. 2. 휴대폰에서 메이투안 테이크아웃 앱에 로그인한 후 오른쪽 하단의 '내'를 클릭하세요. 3. 내 인터페이스에서 "지갑 입력"을 클릭하세요. 4. 메이투안 지갑 인터페이스 오른쪽 상단에 있는 '설정' 아이콘을 클릭하세요.

See all articles