معرفی شرکت ها


django-iamport-0.2.0


Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر

توضیحات

Iamport implementation for Django 2+
ویژگی مقدار
سیستم عامل -
نام فایل django-iamport-0.2.0
نام django-iamport
نسخه کتابخانه 0.2.0
نگهدارنده []
ایمیل نگهدارنده []
نویسنده Wonwoo, lee
ایمیل نویسنده bluedisk@gmail.com
آدرس صفحه اصلی https://github.com/bluedisk/django-iamport
آدرس اینترنتی https://pypi.org/project/django-iamport/
مجوز MIT
Django-Iamport ============== Iamport Application for Django 장고용 아임포트 포팅 입니다. 아직 카드 결제만 동작 확인 되었습니다. Install ======= 1. pip install django-iamport ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2. setting.py 수정 ~~~~~~~~~~~~~~~~~~ .. code:: python INSTALLED_APPS = [ ... 'payment.apps.PaymentConfig', ... PAYMENT_MERCHANT_ID = '아임포트에서 발급받은 상점 ID' PAYMENT_REST_KEY = '아임포트에서 발급 받은 REST KEY' PAYMENT_REST_SECRET = '아임포트에서 발급 받은 REST SECRET' PAYMENT_MODEL = 'shop.OrderPayment' # Payment를 상속 받은 주문 모델 # 아임포트 전달 파라메터(그대로 아임포트 모듈에 전달 됩니다) # IMP.request_pay() 파라메터 : PAYMENT_CONFIG = { 'company': '우리 회사', # PG표기 회사명 'pg': 'html5_inicis', # PG 종류 (아임포트 설정) 'pay_method': 'card' # 결제 방법 } 파라메터는 `IMP.request\_pay() 파라메터 <https://github.com/iamport/iamport-manual/blob/master/%EC%9D%B8%EC%A6%9D%EA%B2%B0%EC%A0%9C/README.md>`__ 참조) 3. URL 선언 포함하기 ~~~~~~~~~~~~~~~~~~~~ 루트 urls.py 상에 다음 라인 포함 .. code:: python urlpatterns = [ ... path('payment/', include('payment.urls')), ... ] 4. Payment 모델 상속하기 ~~~~~~~~~~~~~~~~~~~~~~~~ Payment 모델을 상속 받아서 실제로 사용할 결제 정보 모델을 만들어야 됩니다. Payment는 다음과 같이 추상 모델로 선언 되어 있습니다. .. code:: python class Payment(models.Model): class Meta: abstract = True def __str__(self): return "%s-%s%s-" % (self.buyer_name, self.amount, self.name) name = models.CharField('주문명', max_length=100) ... 중간 생략 ... card_id = models.CharField('카드승인번호', max_length=50, null=True, blank=True) receipt_url = models.URLField('영수증 URL', null=True, blank=True) @staticmethod def from_order(order, pay_type): raise NotImplementedError() def on_success(self): raise NotImplementedError() Payment 추상 모델을 상속 받은 다음 필요한 필드들을 추가해서 사용자 모델을 만듭니다. Payment를 상속받은 예제 .. code:: python class OrderPayment(Payment): class Meta: verbose_name = "제품 결제" verbose_name_plural = "제품 결제 목록" order = models.ForeignKey(Apply, on_delete=models.SET_NULL, null=True, related_name='payments') @staticmethod def from_order(order): payment = OrderPayment() payment.name = '우리상점 : %s %s' % order.name payment.order = order payment.amount = order.roomtype.price payment.buyer_email = order.email payment.buyer_name = order.name payment.buyer_tel = order.cell payment.buyer_addr = order.addr + " " + order.subaddr payment.buyer_postcode = order.postcode payment.save() # ID 생성하기 if settings.DEBUG: prefix = "myshop_debug" else: prefix = "myshop" now = timezone.localtime(timezone.now()) now = now.strftime('%Y%m%d_%H%M%S') payment.uid = "%s_%s_%s" % (prefix, now, payment.pk) payment.save() return payment # 결제 완료 후처리 하기(완료 시 호출 됩니다) def on_success(self): self.order.pay_status = 'confirmed' self.order.save() # 결제 재시도 URL def get_retry_url(self): return reverse('myshop:retry_order', args=[self.order.pk]) # 결제 후 이동 할 Home URL def get_home_url(self): return '/' 5. 결제 시작하기 ~~~~~~~~~~~~~~~~ 상속받은 모델(여기선 OrderPayment)의 인스턴스를 생성, 저장한 후 해당 pk를 args로 'payment:pay' 뷰를 호출하면 결제 프로세스가 진행 됩니다. ex: :: def pay_start(request): payment = OrderPayment.from_order(order_info) return HttpResponseRedirect(reverse('payment:pay', args=[payment.pk])) 6. Template 사용자화 하기 ~~~~~~~~~~~~~~~~~~~~~~~~~ 모든 뷰 템플릿은 templates/site\_base.html 를 상속 합니다. site\_base.html를 Override해서 사용자 템플릿을 선언하시면 됩니다. - 주의 : 서브 템플릿들은 jQuery가 site\_base.html 상에 포함된것으로 간주합니다. TODO ==== - [STRIKEOUT:REST prepare call] - [STRIKEOUT:card] - notification - vbank - 후처리 실패시 처리 - 다중 PG 지원 - 다중 결제 모델 지원


نحوه نصب


نصب پکیج whl django-iamport-0.2.0:

    pip install django-iamport-0.2.0.whl


نصب پکیج tar.gz django-iamport-0.2.0:

    pip install django-iamport-0.2.0.tar.gz