2013-06-20 2 views
-1

저는 현재 개발중인 전자 상거래 솔루션에 대한 제안을 원합니다. 웹 응용 프로그램은 PHP로 개발되었으며 데이터베이스는 MYSQL이며 신용 카드 회사는 CIELO (구 Visanet)이며 모든 것이 모두 설정됩니다.PHP에서 신용 카드 거래 롤백 제안

나는 신용 카드 회사와이 과정 후 모든 정보를 처리
- order_id; 
- value; 
- credit_card 
- exp_date 
_ ccd_field 

, 내 클라이언트에 $ _POST를 반환 : 우리 회사는 내가 다음 필드를 게시 HTTP를 통해 내 클라이언트로부터받은 게이트웨이 지불한다 order_id, value 및 status (OK, rejected 또는 다시 시도)가 표시됩니다. 내 질문 : 신용 카드가 캡처 된 후 어떤 이유로 든 반품이 실패 할 경우, $ _POST를 확인하고 CIELO에 보낸 XML 파일을 롤백하려면 어떻게해야합니까? 나를 도와 줘서 고마워! 감사합니다, Thiago Casteliano. 상파울루/브라질.

+1

'Cielo와의 거래 취소 방법'을 묻는 중입니다. 그렇다면 대답은 요구 사항에 따라 다릅니다. 코드를 게시하지 않았을 때 우리가 어떻게 대답 할 수 있는지, Cielo가 코드 변환을 처리하는 방법에 대한 자세한 내용은 알 수 없습니다. –

+0

고객으로부터받은 데이터가 완전히 명확하지는 않지만 전체 신용 카드 번호가 관련되어 있다면 지금 당장하고있는 것보다 보안에 더 많은주의를 기울여야합니다. – DCoder

답변

0

당신은에 과정을 분할 할 수 있습니다 :

    1. 추가 트랜잭션은 트랜잭션을 추가 실행, 당신은 다른 통화에 추가 할 수 있습니다
    2. 체크 트랜잭션 상태를.

    고객이 트랜잭션을 다시 검사 할 수 있고 재전송 할 수 있다고 확신하면됩니다. 다른 문제가있는 경우 트랜잭션은 실행될 때까지 기다립니다.

    HTTP를 사용하는 경우 발신자가 상태를 수신했는지 확인할 수 없습니다 (일부 확인이 필요하지 않거나 2 단계에서 발신자 인 경우).

    위 멋지게 편안하고 접근 방식에 맞는

    :/거래/{TRANSACTION_ID}에 거래 세부/거래

    1. POST는
    2. POST/
    3. 하려면, 트랜잭션을 실행하기 위해 실행/거래/{transaction_id} 거래 데이터 (즉, 여기에 신용 카드 번호를 표시하지 않기 때문에 상태 정보)를 볼 수 있습니다.