2012-08-25 5 views
2

나는 PHP로 내 자신의 전자 상거래 사이트를 만들고있다. 산불처럼 퍼져 나갈 수있는 모든 사람에게 일반적인 "10 % 할인"을 보내지 않고 과거 고객에게 쿠폰 코드를 제공하고 싶습니다. 모든 코드가 고유하지만 알려진 할인 값에 매핑됩니다.전자 상거래 쿠폰 코드 : 하나의 할인으로 매핑되는 많은 고유 쿠폰을 생성 하시겠습니까?

가능한 모든 조합으로 데이터베이스에 시드하지 않고도 쿠폰 코드 (문자열)를 평가할 수있는 플러그인/프레임 워크/쉬운 기능이 있습니까?

답변

0

당신이 직접 쓰고 있기 때문에, 제가 제안 할 것이 있습니다.

쿠폰을 적용 할 때 로그인 한 사용자 주문 기록을 확인한 후 이전에 주문했는지 확인하는 새로운 쿠폰 유형을 만듭니다.

쿠폰 테이블에 requireSignInrequirePastOrders 필드를 추가하십시오. 해당 필드가 설정된 쿠폰을 하나 만듭니다. 고객이 해당 쿠폰을 적용하려고하면 필요한 수표를 사용하여 로그인하고 이전에 주문했는지 확인하십시오. 테스트가 실패하면 적절한 오류 메시지를 표시하십시오.

0

DB를 확인하지 않고 쿠폰 유형을 결정할 수있는 방식으로 쿠폰 코드를 구성 할 수 있습니다 (또는 쿠폰 유형 (아래 참조)으로 가득 찬 테이블에 저장할 수 있습니다) 가능한 모든 조합을 저장해야 함), 마지막에 쿠폰이 사용되었는지 확인하는 데 사용할 수있는 고유 번호가 추가됩니다. 예를 들어

d8h7bb0778719945 ->d8h7bb (이 형식의 모든 다른 쿠폰 같은) 쿠폰 유형이고 0778719945는 (모든 쿠폰 다른 유형에 관계없이) 상기 고유 번호이다.

먼저 쿠폰 유형이 구매할 항목에 유효한지 확인하십시오. 이 경우 쿠폰 데이터베이스에 대해 0778719945을 확인하여 소유권 주장 여부를 확인하십시오.

0

제가 일한 회사의 경우 데이터베이스에로드하는 비용없이 수백만 개의 자체 유효성 검사 코드를 생성 할 수있는 "쿠폰 코드"생성기를 만들었습니다. 다음과 같이

코드 계산 하였다 :

  1. 생성 및 16 자 이상의 염을 저장합니다.

  2. 루프 코드의 수 0 ~ 카운터 - 각각의 카운터 1.

    가. 카운터 및 소금의 해시를 생성하십시오 (예 : md5(counter + salt))

    b. 쿠폰 코드가 수신 될 때

그렇다면 우리는 상대 추출 카운터로서 쿠폰 코드 플러스 해시 값을 생성하고, 카운터 + 염 해시 및 코드에있는 해시를 비교한다. 코드가 동일하면 코드가 유효하다는 것을 알고 있습니다.

코드를 사용하여 판매가 생성 된 경우 테이블에 사용 내용을 기록하므로 다시 사용할 수 없습니다.

인쇄 매체의 경우 대문자로 된 base-32 값 (2-9, A-H, J-N, P-Z)을 사용하여 쿠폰 코드를 생성했습니다. 전자 메일 및 URL의 경우 수정 된 기본 64 값을 사용했습니다 (urlsafe_b64encode() 참조)

불행히도 NDA에 따라 실제 코드를 제공 할 수 없습니다. 행운을 빕니다!

3

시험해보기 - Voucherify - 쿠폰 코드 용 API입니다. 사용하여 자신의 web app 같은 할인에 매핑 고유 한 코드의 수천, 즉, 상품권 캠페인을 만들 생성 할 수 있습니다 :

enter image description here

그런 다음 당신이 PHP SDK와 전자 상거래 사이트에 통합 할 수 있습니다. 바우처를 구속하기 : 주어진 코드가 유효하면

$result = $voucherify->redeem("unique-voucher-code", "customer-id"); 

결과는 $result->voucher->discount->percent_off 지정된 할인이 포함됩니다.

전 공개, 저는 Voucherify의 개발자입니다.