2008-09-09 8 views
249

This question 다른 결제 프로세서에 대한 이야기와 비용은 들지만 신용 카드 결제를 허용하려면 어떻게해야합니까?지불 프로세서 - 내 웹 사이트에서 신용 카드를 받으려면 무엇을 알아야합니까?

고객의 신용 카드 번호가이므로 신용 카드 프로세서를 사용하여 무거운 작업을 수행하는 명백한 솔루션을 사용할 수 없다고 가정합니다.

PCI Data Security (신용 카드 정보 저장 표준)은 일반적인 요구 사항이 많지만, how does one implement them?

Visa과 같은 공급 업체는 자신의 모범 사례가 있습니까?

기계에 keyfob 액세스가 필요합니까? 그것을 건물의 해커로부터 물리적으로 보호하는 것은 어떻습니까? 또는 누군가가 SQL Server 데이터 파일을 사용하여 백업 파일을 손에 쥐고 있다면 어떻게됩니까?

백업은 어떻게됩니까? 해당 데이터의 다른 물리적 복사본이 있습니까?

팁 : 계층 형 가격 책정을 사용하면 어떤 유형의 Visa/MC가 사용되는지에 따라 요금이 부과됩니다. 그들은 큰 보상이 붙은 카드에 대해 더 많은 금액을 청구합니다. Interchange plus billing은 Visa/MC가 청구하는 프로세서와 정액 요금을 지불하는 것을 의미합니다. (Amex 및 Discover는 자체 요금을 가맹점에 직접 청구하므로 해당 카드에는 적용되지 않으며 Amex 요금은 3 %, Discover는 1 %로 낮아집니다.) Visa/MC는 2 % 범위). This service is supposed to do the negotiation for you (나는이 광고 아니라, 사용하지 않은, 나는 웹 사이트와 제휴 아니지만,이 서비스가 크게 필요합니다.)

이 블로그 게시물 (특히 영국의 경우) complete rundown of handling credit cards을 제공합니다 .


는 아마도 내가 질문을 잘못 표현한,하지만 난 이런 팁을 찾고 있어요 :

  1. 사용 SecurID 또는 eToken 물리적 상자에 추가 암호 층을 추가 할 수 있습니다.
  2. 상자가 실제 잠금 장치 또는 키 코드 조합이있는 방에 있는지 확인하십시오.
+0

PA-DSS 2.0에서는 더 이상 사용되지 않습니다. –

답변

231

나는 일하는 회사와 오래 전에이 과정을 겪었으며 곧 내 자신의 사업으로 다시 시도 할 계획이다. 네트워크 기술 지식이 있다면 정말 그렇게 나쁘지 않습니다. 그렇지 않으면 페이팔 또는 다른 유형의 서비스를 사용하는 것이 더 나을 것입니다.

과정은 merchant account으로 설정되고 은행 계좌와 연결됩니다. 많은 주요 은행에서 판매자 서비스를 제공하므로 은행에 문의하십시오. 이미 자신의 고객이기 때문에 거래를 할 수도 있지만, 그렇지 않다면 쇼핑을 할 수 있습니다. 디스 커버 또는 아메리칸 익스프레스를 수락 할 계획이라면, 카드를 위해 머천트 서비스를 제공하기 때문에 별도로 처리됩니다. 다른 특수한 경우도 있습니다. 이것은 준비 과정입니다.

다음으로 SSL 인증서을 구입하여 신용 카드 정보가 공용 네트워크를 통해 전송되는 경우 통신을 보호 할 수 있습니다. 많은 공급 업체가 있지만 어림짐작은 브랜드 이름 인 것을 선택하는 것입니다. 그들이 잘 알려져있을수록 고객은 아마 더 잘 알게 될 것입니다.

다음으로 귀하의 사이트에서 사용할 payment gateway을 찾고 싶습니다. 이것은 당신이 얼마나 큰지에 따라 선택 사항이 될 수 있지만, 대부분의 시간은 그렇지 않을 수 있습니다. 너 하나 필요해. 지불 게이트웨이 공급 업체는 사용자가 통신 할 인터넷 게이트웨이 API와 통신 할 수있는 방법을 제공합니다. 대부분의 공급 업체는 API에 HTTP 또는 TCP/IP 통신을 제공합니다. 그들은 귀하를 대신하여 신용 카드 정보를 처리합니다. 두 공급 업체는 Authorize.NetPayFlow Pro입니다. 아래에서 제공하는 링크에는 다른 공급 업체에 대한 추가 정보가 있습니다.

이제 어떻게 되나요? 처음에는 트랜잭션을 전송하기 위해 애플리케이션이 준수해야하는 것에 대한 지침이 있습니다. 모든 설정을 얻는 과정에서 누군가는 사이트 또는 응용 프로그램을보고 SSL 사용과 같은 지침을 준수하는지 확인하고 사용자에게 제공되는 정보가 사용되는 것에 대한 사용 약관 및 정책 설명서가 있음을 확인합니다. 에 대한. 다른 사이트에서 이것을 훔치지 마십시오. 당신이 필요하면 변호사를 고용하십시오. 이 중 대부분은 Michael이 제공 한 PCI 데이터 보안 링크에 해당합니다.

신용 카드 번호를 저장하려는 경우 정보를 보호하기 위해 내부적으로 보안 조치를 취하는 것이 좋습니다. 액세스가 필요한 회원 만 정보가 저장된 서버에 액세스 할 수 있는지 확인하십시오. 다른 보안과 마찬가지로 계층 구조로 작업을 수행합니다. 레이어를 더 많이 배치할수록 좋습니다. 원하는 경우 열쇠 고리 형 보안을 사용하여 SecureID 또는 eToken과 같은 방을 보호 할 수 있습니다. 열쇠 고리를 사용할 여유가 없으면 두 가지 주요 방법을 사용하십시오. 방에 출입 할 수있는 사람이 이미 사인 한 열쇠와 함께 사인을 할 수있게하십시오. 그들은 방에 접근하기 위해 두 개의 키가 모두 필요합니다.다음은 정책을 사용하여 서버와의 통신을 보호합니다. 내 정책은 네트워크를 통해 통신하는 유일한 방법은 응용 프로그램이고 정보는 암호화된다는 것입니다. 서버는 다른 형식으로 액세스 할 수 없어야합니다. 백업의 경우 백업을 저장할 볼륨을 암호화하기 위해 truecrypt을 사용합니다. 언제든지 데이터가 제거되거나 다른 곳에 저장되면 다시 truecrypt를 사용하여 데이터가있는 볼륨을 암호화합니다. 기본적으로 데이터는 암호화되어 있어야합니다. 데이터를 가져 오는 모든 프로세스가 감사 추적을 수행하는지 확인하십시오. 로그를 사용하여 서버 실에 액세스하고, 가능한 경우 카메라를 사용하십시오. 또 다른 방법은 데이터베이스의 신용 카드 정보를 암호화하는 것입니다. 이렇게하면 정보를 볼 수있는 사용자의 애플리케이션에서만 데이터를 볼 수 있습니다.

내 방화벽으로 pfsense을 사용합니다. 컴팩트 플래시 카드에서 실행하고 두 대의 서버를 설치하십시오. 하나는 이중화를위한 장애 조치 (failover)입니다.

렉스 스트 렐 (Rick Strahl)이 전자 상거래를 잘 이해하고 웹 응용 프로그램을 통해 신용 카드를 수락하는 데 도움이되는 내용을 발견했습니다. blog post

글쎄, 이것은 긴 대답으로 밝혀졌습니다. 이 팁이 도움이되기를 바랍니다.

+13

완벽한 답변. 나는 다른 사람들이 그것에 더해지기를 바랍니다. –

+3

내가 본 최고 중 하나는 .... +1 –

+2

@Michael Pryor : 너무 완벽하면 왜 다른 사람들이 그것을 추가해야합니까? 응? – donut

2

전체 과정에는 많은 부분이 있습니다. 가장 쉬운 방법은 paypal과 유사한 서비스를 사용하는 것이므로 실제로 신용 카드 데이터를 처리하지 마십시오. 그 외에도, 귀하의 웹 사이트에서 신용 카드 서비스를 제공하기 위해 승인을 받기까지 꽤 많은 것들이 있습니다. 귀하는 귀하의 은행 및 귀하의 가맹점 신분증을 발행 한 사람들과 상담하여 절차 설정에 도움을 받으십시오.

2

다른 사람들이 언급 한 것처럼 Paypal, Google checkout 또는 Nochex을 사용하는 것이 가장 쉬운 방법입니다. 그러나 상당한 규모의 사업을하려는 경우 WorldPay, NetBanx (UK) 또는 Neteller (US)과 같은 상위 수준 사이트 통합 서비스로 "업그레이드"할 수 있습니다. 이러한 모든 서비스는 비교적 쉽게 설정할 수 있습니다. 그리고 Netbanx가 Intershop과 같은 선반 장바구니 솔루션 중 일부에 편리한 통합을 제공한다는 것을 알고 있습니다. (그 중 일부를 썼기 때문입니다).그 외에도 은행 시스템 (및 APAX 시스템)과의 직접적인 통합을 고려하고 있지만 그 시점에서 신용 카드 회사에 신용 카드 번호를 안전하게 처리하고 있음을 증명해야합니다 (당신은 한달에 $ 100k 가치가 없습니다).

첫 번째부터 마지막까지의 비용/이점은 초기 옵션을 설정하는 것이 훨씬 쉽고 (더 빠르고/저렴함) 각 거래마다 매우 높은 수수료를 지불한다는 것입니다. 최신 것들은 설정하는 것이 훨씬 더 비싸지 만 장기적으로는 적은 돈을 지불합니다.

대부분의 비 전용 솔루션의 다른 장점은 암호화 된 신용 카드 번호를 안전하게 유지할 필요가 없다는 것입니다. 그 외 다른 사람의 문제 :-)

22

다음 질문을하십시오. 왜 신용 카드 번호를 첫 번째 장소에 저장 하시겠습니까?? 기회는 당신이하지 않는다는 것입니다. 실제로, 을 수행하면을 저장하고 도난 당할 수 있으므로 심각한 책임을 느낄 수 있습니다.

나는 거래가 오프라인으로 처리되어 신용 카드 번호를 저장하는 앱을 작성했습니다. 다음은 좋은 방법입니다.

  • SSL 인증서를 받으십시오.
  • 사용자가 CC#을 얻을 수있는 양식을 만듭니다.
  • CC#의 일부를 암호화하고 데이터베이스에 저장하십시오. (중간 8 자리를 제안합니다.) 강력한 암호화 방법과 비밀 키를 사용하십시오.
  • 처리 할 사람의 ID로 거래를 처리하는 사람 (아마 자신)에게 CC#의 나머지 부분을 보냅니다.
  • 나중에 로그인하면 CC#의 ID와 메일로 발송 된 부분을 입력하게됩니다. 시스템은 다른 부분을 암호 해독하고 재조합하여 트랜잭션을 처리 할 수 ​​있도록 전체 번호를 얻을 수 있습니다.
  • 마지막으로 온라인 레코드를 삭제하십시오. 내 편집증 해결책은 삭제하기 전에 임의의 데이터로 레코드를 덮어 쓰고 삭제 취소 가능성을 제거하는 것이 었습니다.

이것은 많은 작업처럼 들리지만 완전한 CC#를 절대 기록하지 않으면 해커가 웹 서버에서 가치있는 것을 찾기가 매우 어려워집니다. 저를 신뢰하십시오, 그것은 마음의 평화의 가치가 있습니다.

+1

마이클이 샘 웨셀에게 남긴 코멘트를 확인하십시오. –

17

PCI 1.2 문서가 방금 나왔습니다. 요구 사항과 함께 PCI 준수를 구현하는 방법에 대한 프로세스를 제공합니다. ,

https://www.pcisecuritystandards.org/security_standards/pci_dss.shtml

길고도 짧은 이야기 서버가 CC 정보 (일반적으로 DB 서버 (들)) 저장에 전념 할 것 중에 대해 별도의 네트워크 세그먼트를 만들 : 당신은 여기에 전체 문서를 찾을 수 있습니다. 가능한 한 데이터를 분리하고 데이터에 액세스하는 데 필요한 최소 액세스 만 있는지 확인하십시오. 그것을 저장할 때 그것을 암호화하십시오. PAN을 절대로 저장하지 마십시오. 이전 데이터를 지우고 암호화 키를 회전하십시오.

예 말아야 :

  • 는 CC 정보를 검색 데이터베이스의 일반 정보를 조회 할 수있는 동일한 계정을하지 마십시오.
  • CC 데이터베이스를 웹 서버와 동일한 실제 서버에 보관하지 마십시오.
  • 외부 (인터넷) 트래픽을 CC 데이터베이스 네트워크 세그먼트에 허용하지 마십시오.

예 도스 :

  • 는 CC 정보를 조회하기 위해 별도의 데이터베이스 계정을 사용합니다.
  • 방화벽/액세스 목록을 통해 CC 데이터베이스 서버에 필요한 트래픽을 제외한 모든 내용을 허용하지 않습니다.
  • 제한된 권한을 가진 사용자에게 CC 서버에 대한 액세스를 제한합니다.
+5

PCI-DSS 요구 사항은 카드 데이터 *가 저장되는 곳이 아닌 * 통과하는 모든 시스템에 적용된다는 점에 유의하십시오. 따라서 동일한 보안 제한과 요구 사항이 웹 서버/앱 서버 (및 해당 컴퓨터의 다른 모든 가상 호스트에 속하는 사이트)와 해당 네트워크 세그먼트의 다른 모든 호스트에도 적용됩니다. – Cheekysoft

+0

Absolutely true – Zak

13
난 당신이 내 고객의 약

여러 가지를 생각 할 수있는 비 기술적 인 코멘트를 추가하려면 적당히 큰 매장을 가지고 몇 가지를 포함하여 전자 상거래 사이트를 실행하는 것

. 이 둘은 확실하게 결제 게이트웨이를 구현할 수 있지만 cc 번호를 가져 와서 일시적으로 온라인으로 암호화하여 저장하고 수동으로 처리합니다.

그들은 사기의 빈도가 높고 수동 처리를 통해 주문을하기 전에 추가 점검을 할 수 있기 때문에이 작업을 수행합니다. 나는 그들이 모든 거래의 20 % 이상을 거절한다고 들었습니다. 수작업으로 처리하는 데 시간이 오래 걸리고 거래를 처리하는 직원이 한 명 있었지만 월급을내는 데 드는 비용은 분명히 적습니다. 온라인 게이트웨이를 통해 CC 번호가 전달되면 노출됩니다.

두 고객 모두 재판매 가치가있는 실제 상품을 제공하므로 사기성 판매로 인한 실제 손실이 발생하지 않는 소프트웨어와 같은 항목에 대해서는 특히 노출되며 마일리지는 다양하지만 기술적 측면 온라인 게이트웨이를 구현하면 실제로 원하는 것입니다.

편집 : 그리고이 답변을 작성한 이후로 나는주의가 담긴 이야기를 추가하고 이것이 좋은 생각이었던 과거의 시간이라고 말하고 싶습니다.

왜? 비슷한 접근법을 취하는 다른 연락처를 알고 있기 때문입니다. 카드 세부 정보는 암호화되어 저장되었으며, 웹 사이트는 SSL에 의해 액세스되었으며 처리 후 바로 번호가 삭제되었습니다. 당신 생각을 안전하게 지킵니까?

네트워크에서 아무 기계도 키 로깅 트로이 목마에 감염되었습니다. 결과적으로 그들은 여러 점수 신용 카드 위조의 출처로 밝혀졌고 결과적으로 큰 벌금이 부과되었습니다.

나는이 결과로 결코 자신에게 신용 카드를 처리 할 것을 조언합니다. 이후 지불 게이트웨이가 훨씬 더 경쟁력 있고 비용 효과적이되고 사기 대책이 개선되었습니다. 위험은 더 이상 가치가 없습니다.

나는이 답변을 삭제할 수 있지만 최선을 다해 교정 이야기로 편집을 떠날 생각입니다.

+1

이것은 내가 정말로 고려하지 않은 매우 유용한 설명이다. 감사합니다 – 0plus1

+0

우수, 감사합니다. – SimplGy

5

왜 PCI 준수를 귀찮게합니까 ?? 기껏해야 처리 수수료의 몇 퍼센트를 줄일 수 있습니다.이것은 최신 요구 사항을 따라 잡기 위해 개발 초기와 시간이 지남에 따라하고 싶은 것을 확실하게해야하는 경우 중 하나입니다.

우리의 경우, 구독 감각이 ​​좋은 게이트웨이를 사용하여 판매자 계정과 쌍을 이루는 것이 가장 좋습니다. Subscription-Savy Gateway를 사용하면 모든 PCI 컴플라이언스를 건너 뛰고 트랜잭션을 적절하게 처리하는 것 이상의 작업을 수행 할 수 있습니다.

우리는 TrustCommerce를 게이트웨이로 사용하며 서비스/가격 정책에 만족합니다. 그들은 많은 언어를위한 코드를 가지고있어 쉽게 통합 할 수 있습니다.

+5

지불 게이트웨이에서 인질로 잡히지 않도록하는 이유 중 하나는 다른 게이트웨이로 전환하려는 경우 이전 게이트웨이가 고객의 모든 CC 정보에 액세스하지 못하게하여 고객에게 새 결제 게이트웨이로 구매에 대한 세부 정보를 요청합니다. 1 단계로 이동하십시오. – Zabba

3

PCI에 필요한 추가 작업과 예산을 반드시 확인하십시오. PCI는 거대한 외부 감사 비용과 내부 노력/지원을 요구할 수 있습니다. 또한 일방적으로 귀하에게 부과 될 수있는 벌금/처벌에 대해 알고 있어야하며, 종종 '폭력'의 규모에 비해 크게 불균형합니다.

7

SSL을 사용하여 브라우저에서 서버로 카드 번호를 보내려면 레스토랑의 점원에게 카드를 넘겨 줄 때 엄지 손가락으로 신용 카드 번호를 덮는 것과 같습니다 (엄지 손가락 (SSL)은 다른 사람을 막습니다). 레스토랑 (인터넷)의 고객은 카드를 보지 못하지만 일단 카드가 출납원 (웹 서버)의 손에 들어가면 카드는 SSL 교환에 의해 더 이상 보호되지 않으며 계산원이 그 카드로 무엇이든 할 수 있습니다 . 저장된 카드 번호에 대한 액세스는 웹 서버의 보안으로 만 중지 될 수 있습니다. 즉, 그물에있는 대부분의 카드 도용은 전송 중에 완료되지 않습니다. 이는 서버 보안 취약성을 뚫고 데이터베이스를 도용하여 수행됩니다.

+0

즉, PCI DSS가 들어오는 곳, 즉 서버에 전체 PAN을 저장하지 않는 경우입니다. –

관련 문제