2010-05-18 7 views
0

현재 대부분이 판매자 게이트웨이가 제공 한대로 신용 카드 처리 스크립트를 구현 중입니다. 이 코드는 클래스 내의 함수를 호출하고 응답을 기반으로 문자열을 반환합니다. 예를 들어 정보와 나는 (자세한 내용은 물론 제거) 사용하고 최종 PHP 코드는 다음과 같습니다 CC 처리 스크립트 지원

<?php 
$gw = new gwapi; 
$gw->setLogin("username", "password"); 
$gw->setBilling("John","Smith","Acme, Inc.","888","Suite 200", "Beverly Hills", 
     "CA","77777","US","555-555-5555","555-555-5556","[email protected]", 
     "www.example.com"); 
//  "CA","90210","US","[email protected]"); 
$gw->setOrder("1234","Big Order",1, 2, "PO1234","65.192.14.10"); 

$r = $gw->doSale("1.00","4111111111111111","1010"); 
print $gw->responses['responsetext']; 

?> 
setlogin 날 로그인 할 수 있습니다

이 setbilling 샘플 소비자 정보를 가져

가 설정 순서가 주문 ID 및 설명을한다, dosale 소요 청구 금액, CC 번호 및 예상 날짜.

모든 변수는 다음 유효화된다 보내 문자열은 다음과 같은 형식으로 반환되며, 처리 퇴장시 :

응답 = 1 개 &에서 responseText = SUCCESS & AUTHCODE = 123456 &는 TransactionId = 23456 & avsresponse = M &에 OrderID = & 유형 = 판매 & RESPONSE_CODE = 100

여기서

,451,515,
  • 응답 = 거래 승인 또는 는
  • 응답 텍스트 = 텍스트 응답
  • AUTHCODE = 거래 허가 코드
  • 는 TransactionId = 지불 게이트웨이 트란 ID
  • avsresponse = 응답 코드 AVS
  • 감소 orderid = 전달 된 원래 주문 ID tran request
  • RESPONSE_CODE = 숫자 매핑 프로세서 응답

의 나는 다음 사항을 해결하기 위해 노력하고 있습니다 :

  1. 내가 가 다시 전달하고 적절하게 페이지에 표시되는 데이터를 가지고 어떻게 - 트랜잭션이 실패하거나 AVS 코드가 내 좋아하는 것과 일치하지 않는 경우 이 잘못되면 소비자에게 오류가 표시됩니다. 트랜잭션 처리하는 경우, 그들은 완료 페이지로 이동하고 RESPONSE_CODE 값 값 테이블 일치하면 트랜잭션 ID가 출력으로 SESSION에 소비자
  2. 를 전송하고, 소정의 동작은 촬영, 즉 코드 = 100 경우 등
+2

문자열을 구문 분석하는 방법을 알 수없는 프로그래머가 신용 카드 정보를 처리하는 것에 대해 다소 겁에 질려 있습니다. –

+0

@Matti - 자신감을 가져 주셔서 감사합니다. 저는 PCI 컴플라이언스에 참여하고 지난 3 년간 프로젝트 관리/제품 개발 분야에서 근무한 조직에서 일합니다. 우리는 일부 프로그래밍 팀을 떠나게했고 파트너 사이트를 운영하는 데 도움이되도록 공을 잡았습니다. 아마도 모욕적 인 말 대신 모범 사례 또는 이전 경험에 대한 지침을 제공 할 수 있습니다. 귀하의 의견이이 질문에 아무런 영향을 미치지 않기 때문입니다 – JM4

+0

그리고 그 음조에 대한 가장 대중적인 질문 중 하나입니다. '뉴비 (Newbie)'프로그래머들이 그 기술을 발전시키는 것을 꺼려하는 이유는 그와 같은 대답 때문입니다. 진보 된 프로그래머는 새끼를 바보 같이 대우합니다. 이 포럼이 고급 수준의 질문에 대한 것이라면 조기에 기준으로 삼아야합니다. – JM4

답변

2

. 그런 다음 별도의 값에 쉽게 액세스하여 논리를 구현할 수 있습니다.

0

은 내가 & 기호 분리, 전체 문자열에 explode 기능을 사용, 고객에게 원래의 페이지에서 성공 페이지에 코드 = 300 인쇄 할 경우 특정 오류를 취할 ~까지 최초의 배열을 얻는다. 그런 다음 결과를 explode으로 반복하고 = 부호를 분리하여 키 - 값 쌍을 얻습니다. 거기에서 다른 어레이와 마찬가지로 작업 할 수 있습니다.배열 인수 (없이 사용하지 않습니다) 문자열에서 키/값 쌍으로 배열을 얻을 수와 사용 parse_str()