0

나는 REST API를 통해 백엔드와 통신하는 JS 프론트 엔드를 보유하고 있으며 신용 카드를 처리해야합니다. 전 PCI DSS 준수 사항에 참여하기를 원하지 않으며 토큰 화를 제공하는 타사 제공 업체 (Stripe, Braintree ..)를 사용하고 있기 때문에 필요하지 않습니다.백엔드에서 PCI DSS없이 신용 카드를 처리하는 방법

하지만 문제는 JS 프런트 엔드가 CC 세부 정보의 토큰 화를 처리하는 것을 원하지 않지만 프런트 엔드가 CC 데이터를 백 엔드와 백 엔드로 보내고 싶습니다. 그런 다음 결제 게이트웨이 API를 사용하여 CC 데이터를 토큰 화하고 실제 CC 데이터 대신 저장합니다.

CC 데이터가 백엔드로 들어가기 때문에 CC 데이터 (스토리지가 아님)의 처리로 간주됩니다. 이는 PCI 준수를 어떤 방식 으로든 처리해야 함을 의미합니다.

그래서 복잡해지기 쉬운 코드/인프라 변경을 피하기위한 쉬운 방법이 있는지 궁금합니다.

답변

1

SAQ C/D 자격을 얻고 싶지 않다면 고객의 PAN을 서버에 보낼 수 없습니다. 그것은 귀하의 지불 게이트웨이 먼저로 이동해야합니다, 그리고 당신은 그들이 당신에게주는 페이로드를 받아서 서버로 보낼 수 있습니다. 나는 그들의 서비스를 더 잘 알고 있기 때문에

, 나는 브레인이 처리하는 두 가지 방법을 설명 할 수 있습니다

1) Drop-in UI -이 방법을 사용하면 결제 페이지에 사업부를 만들고 약간의 자바 스크립트를 추가 할 것 노드를 지불 양식으로 변환하는 프론트 엔드 코드에서 일단 지불 양식을 작성하면 정보가 Braintree로 직접 보내지고 PCI 관련 문제없이 안전하게 서버에 보낼 수있는 지불 금액을 돌려 줄 것입니다.

2) Hosted Fields - 드롭 인 UI의 스타일을 지정하는 옵션이 약간 제한되어 있으므로 사용자가 원하는대로 스타일을 지정하고 페이지에 배치 할 수있는 모든 권한이있는 사용자 정의 필드를 추가해야하는 경우 호스팅 된 필드를 찾고 있습니다. 기본적으로 HTML 입력과 같이 스타일을 지정할 수있는 일련의 iframe을 기본적으로 작성한 다음 고객이 채우고 "제출"을 클릭하면 데이터가 다시 Braintree에 다시 제출되고 지불 nonce가 반환됩니다. 백엔드 API로 보내고 원하는 모든 작업을 수행 할 수 있습니다.

내가 분명히했는지 확인하기 위해 - 더 엄격한 PCI SAQ 수준을 충족시키지 않고도 서버에 일반 텍스트 신용 카드 정보를 보낼 수있는 방법이 현재 없습니다 ().