Example #1
0
    def __get_or_create_trade(self, product_order, *args, **kwargs):
        """
        生成支付宝支付单
        :return:
        """
        try:
            trade = AliPaymentTradeOrder.objects.get(order_no=product_order.order_no)
            return trade
        except AliPaymentTradeOrder.DoesNotExist:
            pass

        now = django.utils.timezone.now()
        out_trade_no = AliPayApi.generate_out_trade_no(product_order.user_id)
        trade = AliPaymentTradeOrder(
                                    out_trade_no=out_trade_no,
                                    order_no=product_order.order_no,
                                    uid=product_order.user_id,
                                    seller_id=AliPayConfig.SELLER_ID,
                                    total_fee=product_order.amount,
                                    subject=product_order.description,
                                    body=product_order.detail,
                                    start_time=now,
                                    it_b_pay=str(self.__REMAINING_SECONDS/60) + 'm'
                                    )

        trade.save(force_insert=True)
        return trade
Example #2
0
 def __create_trade(self, product_order, pay_service_type, *args, **kwargs):
     """
     生成支付宝支付单
     :return:
     """
     now = django.utils.timezone.now()
     out_trade_no = AliPayApi.generate_out_trade_no(product_order.user_id)
     trade = AliPaymentTradeOrder(
                                 out_trade_no=out_trade_no,
                                 pay_service_type=pay_service_type,
                                 order_no=product_order.order_no,
                                 uid=product_order.user_id,
                                 seller_id=AliPayConfig.SELLER_ID,
                                 total_fee=product_order.amount,
                                 subject=product_order.description,
                                 body=product_order.detail,
                                 start_time=now,
                                 it_b_pay=str(self.__REMAINING_SECONDS/60) + 'm',
                                 )
     if pay_service_type == 'direct_pay':
         trade.pay_service_type = 'directPay'
     elif pay_service_type == 'bank_pay':
         trade.pay_service_type = 'bankPay'
     elif pay_service_type == 'mobile':
         trade.pay_service_type = 'mobile'
     else:
         raise ValueError
     trade.save(force_insert=True)
     return trade