문제

신용카드 결제 거래에 문제가 있는데 quote_id가 문제의 원인이라고 확신합니다.문제는 내가 옳고 그른지 확인하기 위해 quote_id를 수동으로 증가시키는 방법을 모른다는 것입니다.

도움이 되었습니까?

해결책 2

먼저, 제가 겪은 문제는 "ABORTED" 응답을 얻는 것이었습니다. 그 이유는 하나의 필드가 항상 동일한 값으로 전송되었고 그 값이 orderid(주문 ID가 아직 아니기 때문에 실제로 quote_id입니다)였기 때문입니다. 해당 시점에 생성됨)은 금지되어 있습니다. 데이터베이스의 고유 필드이기 때문입니다.Magento는 현재 트랜잭션이 완료될 때까지(또는 다른 세션이 생성될 때 아직 확실하지 않음) 한 사용자에 대해 새 견적을 생성하지 않으며 quote_id는 한 사용자에 대해 동일한 값으로 (orderid로) 전송됩니다. 다시 한번 모든 거래가 중단됩니다.

해결책:신용 카드 게이트웨이가 "APPROVED"라는 문자열로 응답하지 않으면 현재 견적을 비활성화하십시오. sales_flat_quote 방금 설정 is_active 0으로 변경하면 Magento는 사용자에게 새로운 견적을 제공합니다.문제는 장바구니에 있는 모든 항목이 사용자에게 손실된다는 것입니다(기록은 여전히 ​​존재하지만 사용자는 더 이상 이에 액세스할 수 없음). 따라서 Magento는 견적을 복제한 다음 현재 견적을 비활성화하고 둘 다 저장해야 합니다. 복제된 견적은 이제 현재 견적이 되지만 다른 견적이 적용됩니다. quote_id.

// get the current quote
$current_quote = Mage::getModel('sales/quote')->load(23);

// create a new one
$cloned_quote = Mage::getModel('sales/quote');

// copy the content of the current one into the new one
$cloned_quote->merge($current_quote);

// deactive the current quote
$current_quote->setIsActive(false);

// save the cloned quote
$cloned_quote->collectTotals()->save();

// and save the changes of the current quote
$current_quote->save();

// now the current save is inactive 
// and the cloned one is the "new" current quote

해결책은 여기에서 가져 왔습니다. 하나의 견적(카트 항목만 해당)을 다른 견적(항목만 해당)으로 복사하는 방법

이제 마지막 단계(또는 첫 번째 단계)는 quote_id 수동으로, 왜?신용 카드 게이트웨이에는 이미 이 e-shop에 등록된 많은 주문 ID가 있습니다. 정확히 말하면 149개입니다(Magento 1.7 사용).거의 모든 것을 Magento 1.9로 마이그레이션했지만 새로운 데이터베이스를 사용하면 견적이 0으로 설정되어 생성된 첫 번째 견적이 cc 게이트웨이에서 거부됩니다.해결책은 다음과 같습니다.

ALTER TABLE sales_flat_quote AUTO_INCREMENT = 149;

기본적으로 이것은 내 문제에 대한 해결책을 요약합니다.이것이 다른 사람에게 유용할 수 있기를 바랍니다.

다른 팁

첫 번째

수동으로 증분을 수행할 수 없습니다. quote_id 으로 설정되어 있기 때문에 auto increment 데이터베이스에 있기 때문에 primary key 테이블의.

따라서 견적이 생성되면 quote_id 자동 증가이므로 자동으로 생성되며 다음과 같이 항상 고유해야 합니다. sql 규칙.

당신의 문제에

문제가 있는 경우 credit card payment 그럼 디버깅을 해야 할까요? payment 부분.결제 시스템에 외부 확장 기능을 사용하는 경우 해당 시스템에 문의하세요.그렇지 않으면 magento는 기본적으로 오류 없이 모든 결제를 처리해야 합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 magento.stackexchange
scroll top