示例#1
0
def add_item_and_cust_detail_to_req(req):
    req.add_item(
        request.ItemDetail(id=1, price=200000, name="Headset", quantity=1))
    req.customer_details = request.CustomerDetails(first_name="Adam",
                                                   last_name="Pahlevi",
                                                   email="*****@*****.**",
                                                   phone="0815623")
示例#2
0
def test_bca_va():
    req = request.ChargeBankTransfer(
        order_id="ORD-1234",
        gross_amount=500000,
        bank=banks.BCA
    )

    req.customer_details = request.CustomerDetails(
        email="*****@*****.**",
        first_name="Adam",
        last_name="Pahlevi",
        phone="0856071748"
    )

    req.add_item(request.ItemDetail(
        id="ITEM-1",
        price=200000,
        quantity=5,
        name="Ayam Bakar"
    ))

    req.add_item(request.ItemDetail(
        id="ITEM-2",
        price=300000,
        quantity=8,
        name="Bubur Ayam"
    ))

    req.va_number = "1111"
    req.add_bca_inquiry_texts(indonesian_text="Indonesian", english_text="English")
    req.add_bca_payment_text(indonesian_text="Indonesian", english_text="English")

    serialized_req = {'payment_type': 'bank_transfer',
                      'transaction_details': {'order_id': 'ORD-1234', 'gross_amount': 500000},
                      'bank_transfer': {'va_number': '1111',
                                        'free_text': {'inquiry':[{'en': 'English', 'id': 'Indonesian'}],
                                                      'payment': [{'en': 'English', 'id': 'Indonesian'}]},
                                        'bank': 'bca'},
                      'item_details': [
                          {'price': 200000.0, 'id': 'ITEM-1', 'name': 'Ayam Bakar', 'quantity': 5},
                          {'price': 300000.0, 'id': 'ITEM-2', 'name': 'Bubur Ayam', 'quantity': 8}
                      ],
                      'customer_details': {'phone': '0856071748', 'first_name': 'Adam', 'last_name': 'Pahlevi',
                                           'email': '*****@*****.**'}}

    assert req.serialize() == serialized_req
示例#3
0
def test_credit_card_complete_body():
    req = get_request()

    req.add_item(request.ItemDetail(
        id="ITEM-1",
        price=200000,
        quantity=5,
        name="Ayam Bakar"
    ))

    req.customer_details = request.CustomerDetails(
        first_name="Ivana",
        last_name="Jessica",
        email="*****@*****.**",
        phone="08127323",
        billing_address=request.CustAddress(
            first_name="Ivana",
            last_name="Jessica",
            email="*****@*****.**",
            phone="08237132",
            address="Jalan Beton",
            city="Jakarta",
            postal_code="61177",
            country_code="IDN"
        ),
        shipping_address=request.CustAddress(
            first_name="Budi",
            last_name="Utomo",
            email="*****@*****.**",
            phone="081128371",
            address="Sudirman",
            city="Bandung",
            postal_code="61155",
            country_code="IDN"
        )
    )

    serialized_req = {'credit_card': {'token_id': 'MY-TOKEN'},
                      'transaction_details': {'order_id': 'ORD-129', 'gross_amount': 100000},
                      'payment_type': 'credit_card',
                      'item_details': [
                          {'price': 200000.0, 'id': 'ITEM-1', 'name': 'Ayam Bakar', 'quantity': 5}],
                      'customer_details': {'first_name': 'Ivana', 'last_name': 'Jessica', 'phone': '08127323',
                                           'billing_address': {'city': 'Jakarta', 'first_name': 'Ivana', 'last_name': 'Jessica', 'phone': '08237132', 'postcode': '61177', 'country_code': 'IDN', 'address': 'Jalan Beton', 'email': '*****@*****.**'},
                                           'shipping_address': {'city': 'Bandung', 'first_name': 'Budi', 'last_name': 'Utomo', 'phone': '081128371', 'postcode': '61155', 'country_code': 'IDN', 'address': 'Sudirman', 'email': '*****@*****.**'},
                                           'email': '*****@*****.**'}}

    assert req.serialize() == serialized_req
示例#4
0
def test_mandiri_bill():
    req = request.ChargeMandiriBill(
        order_id="ORD-4821",
        gross_amount=200000
    )

    req.add_item(request.ItemDetail(
        id="ITEM-1",
        price=200000,
        quantity=5,
        name="Ayam Bakar"
    ))

    serialized_req = {'transaction_details': {'order_id': 'ORD-4821', 'gross_amount': 200000},
                      'payment_type': 'echannel',
                      'item_details': [{'price': 200000.0, 'id': 'ITEM-1', 'name': 'Ayam Bakar', 'quantity': 5}]}

    print req.serialize()

    assert req.serialize() == serialized_req
示例#5
0
def test_snap_complete_body():
    req = make_request()

    time = datetime.now()
    req.set_expiry_time(5, "day", time)

    req.add_item(
        request.ItemDetail(id="ITEM-1",
                           price=200000,
                           quantity=5,
                           name="Ayam Bakar"))

    req.customer_details = request.CustomerDetails(
        first_name="Ivana",
        last_name="Jessica",
        email="*****@*****.**",
        phone="08127323",
        billing_address=request.CustAddress(first_name="Ivana",
                                            last_name="Jessica",
                                            email="*****@*****.**",
                                            phone="08237132",
                                            address="Jalan Beton",
                                            city="Jakarta",
                                            postal_code="61177",
                                            country_code="IDN"),
        shipping_address=request.CustAddress(first_name="Budi",
                                             last_name="Utomo",
                                             email="*****@*****.**",
                                             phone="081128371",
                                             address="Sudirman",
                                             city="Bandung",
                                             postal_code="61155",
                                             country_code="IDN"))

    req.whitelist_bins = ["48111", "45555"]
    req.secure = True
    req.channel = "migs"
    req.bank = "bca"
    req.set_installment(is_forced=True,
                        bni_terms=[3, 6, 12],
                        mandiri_terms=[3, 6, 12],
                        cimb_terms=[3],
                        bca_terms=[3, 6, 12],
                        offline_terms=[6, 12])

    serialized_req = {
        'credit_card': {
            'installment': {
                'required': True,
                'terms': {
                    'offline': [6, 12],
                    'cimb': [3],
                    'bni': [3, 6, 12],
                    'mandiri': [3, 6, 12],
                    'bca': [3, 6, 12]
                }
            },
            'whitelist_bins': ['48111', '45555'],
            'secure': True,
            'channel': 'migs'
        },
        'transaction_details': {
            'order_id': 'ORD-SNP291',
            'gross_amount': 200000
        },
        'item_details': [{
            'price': 200000.0,
            'id': 'ITEM-1',
            'name': 'Ayam Bakar',
            'quantity': 5
        }],
        'expiry': {
            'duration': 5,
            'start_time': exp_time(time),
            'unit': 'day'
        },
        'customer_details': {
            'first_name': 'Ivana',
            'last_name': 'Jessica',
            'phone': '08127323',
            'billing_address': {
                'city': 'Jakarta',
                'first_name': 'Ivana',
                'last_name': 'Jessica',
                'phone': '08237132',
                'postcode': '61177',
                'country_code': 'IDN',
                'address': 'Jalan Beton',
                'email': '*****@*****.**'
            },
            'shipping_address': {
                'city': 'Bandung',
                'first_name': 'Budi',
                'last_name': 'Utomo',
                'phone': '081128371',
                'postcode': '61155',
                'country_code': 'IDN',
                'address': 'Sudirman',
                'email': '*****@*****.**'
            },
            'email': '*****@*****.**'
        }
    }
    assert req.serialize() == serialized_req