from otree.api import * author = 'Alistair Munro, Fitawhidan Nashuha, and Gerald Ezra Charles' doc = """ Ending Page and Info Request for Payment """ class C(BaseConstants): NAME_IN_URL = 'g_ending' PLAYERS_PER_GROUP = None NUM_ROUNDS = 1 class Subsession(BaseSubsession): pass class Group(BaseGroup): pass def get_language(player): return player.session.config.get('language', 'en') == 'en' class Player(BasePlayer): def payment_method_2_label(player): if get_language(player): return ( '' 'What is your second preferred payment method?' '
' '(We will use this method if there are issues with the first method)' ) return ( '' 'Metode pembayaran kedua yang Anda preferensikan?' '
' '(Kami akan melakukan pembayaran melalui metode ini jika terdapat kendala dengan metode pertama)' ) def ewallet_number_label(player): if get_language(player): return ( '' 'Phone number linked to your e-wallet account' '
(Optional)' ) return ( '' 'Nomor telepon yang terhubung dengan akun e-wallet Anda' '
(Opsional)' ) def bank_name_label(player): if get_language(player): return ( '' 'Your bank name' '
(Optional)' ) return ( '' 'Nama bank Anda' '
(Opsional)' ) def bank_acc_num_label(player): if get_language(player): return ( '' 'Your bank account number' '
(Optional)' ) return ( '' 'Nomor rekening bank Anda' '
(Opsional)' ) def email_address_label(player): if get_language(player): return ( '' 'Your email address' '
(Optional)' ) return ( '' 'Alamat email Anda' '
(Opsional)' ) def payment_info_consent_label(player): if get_language(player): return ( '' 'We ask you to provide contact and payment information on the next page.' '
(Optional)' ) return ( '' 'Kami meminta Anda untuk memberikan informasi kontak dan informasi pembayaran di laman berikutnya.' '
(Opsional)' ) def time_preference_main_label(player): if get_language(player): return ( '' 'If we offer part of your payment (Rp10,000 out of Rp40,000 fixed payment) ' 'to be paid earlier (within 24 hours after this session ends), ' 'which of the following options would you choose?' '
' '(Rp30,000 of the fixed payment and bonus payments will be paid approximately one month later.)' ) return ( '' 'Apabila kami menawarkan sebagian pembayaran (Rp10,000 dari Rp40,000 pembayaran tetap Anda) ' 'atas partisipasi Anda dapat dilakukan di muka (dalam kurun waktu 24 jam sejak berakhirnya sesi ini), ' 'manakah dari pilihan berikut yang akan Anda pilih?' '
' '(Rp30,000 dari pembayaran tetap dan pembayaran bonus akan dibayarkan sekitar satu bulan kemudian.)' ) def time_preference_question_label(player): if get_language(player): return ( '' 'Which option do you choose?' '
' ) return ( '' 'Dari pilihan berikut, manakah yang Anda pilih?' '
' ) # ===================================================== # CHOICES # ===================================================== def payment_method_2_choices(player): if get_language(player): return [ ['OVO', 'OVO'], ['GoPay', 'GoPay'], ['DANA', 'DANA'], ['Bank Transfer', 'Bank Transfer'], ] return [ ['OVO', 'OVO'], ['GoPay', 'GoPay'], ['DANA', 'DANA'], ['Bank Transfer', 'Transfer Bank'], ] def payment_info_consent_choices(player): if get_language(player): return [ [True, 'I understand the purpose of this request and agree to provide the information.'], [False, 'I do not agree to provide this information.'], ] return [ [True, 'Saya memahami tujuan permintaan informasi ini dan bersedia memberikannya.'], [False, 'Saya tidak bersedia memberikan informasi tersebut.'], ] def time_preference_1_choices(player): if get_language(player): return [ ['1', 'Rp10,000 today (within 24 hours)'], ['2', 'Rp11,000 next month'], ] return [ ['1', 'Rp10,000 didapatkan hari ini (dalam 24 jam)'], ['2', 'Rp11,000 didapatkan bulan depan'], ] def time_preference_2_choices(player): if get_language(player): return [ ['1', 'Rp10,000 today (within 24 hours)'], ['2', 'Rp12,000 next month'], ] return [ ['1', 'Rp10,000 didapatkan hari ini (dalam 24 jam)'], ['2', 'Rp12,000 didapatkan bulan depan'], ] def time_preference_3_choices(player): if get_language(player): return [ ['1', 'Rp10,000 today (within 24 hours)'], ['2', 'Rp13,000 next month'], ] return [ ['1', 'Rp10,000 didapatkan hari ini (dalam 24 jam)'], ['2', 'Rp13,000 didapatkan bulan depan'], ] def time_preference_4_choices(player): if get_language(player): return [ ['1', 'Rp10,000 today (within 24 hours)'], ['2', 'Rp14,000 next month'], ] return [ ['1', 'Rp10,000 didapatkan hari ini (dalam 24 jam)'], ['2', 'Rp14,000 didapatkan bulan depan'], ] def time_preference_5_choices(player): if get_language(player): return [ ['1', 'Rp10,000 today (within 24 hours)'], ['2', 'Rp15,000 next month'], ] return [ ['1', 'Rp10,000 didapatkan hari ini (dalam 24 jam)'], ['2', 'Rp15,000 didapatkan bulan depan'], ] def time_preference_6_choices(player): if get_language(player): return [ ['1', 'Rp10,000 today (within 24 hours)'], ['2', 'Rp16,000 next month'], ] return [ ['1', 'Rp10,000 didapatkan hari ini (dalam 24 jam)'], ['2', 'Rp16,000 didapatkan bulan depan'], ] def time_preference_7_choices(player): if get_language(player): return [ ['1', 'Rp10,000 today (within 24 hours)'], ['2', 'Rp17,000 next month'], ] return [ ['1', 'Rp10,000 didapatkan hari ini (dalam 24 jam)'], ['2', 'Rp17,000 didapatkan bulan depan'], ] def time_preference_8_choices(player): if get_language(player): return [ ['1', 'Rp10,000 today (within 24 hours)'], ['2', 'Rp18,000 next month'], ] return [ ['1', 'Rp10,000 didapatkan hari ini (dalam 24 jam)'], ['2', 'Rp18,000 didapatkan bulan depan'], ] def time_preference_9_choices(player): if get_language(player): return [ ['1', 'Rp10,000 today (within 24 hours)'], ['2', 'Rp19,000 next month'], ] return [ ['1', 'Rp10,000 didapatkan hari ini (dalam 24 jam)'], ['2', 'Rp19,000 didapatkan bulan depan'], ] def time_preference_10_choices(player): if get_language(player): return [ ['1', 'Rp10,000 today (within 24 hours)'], ['2', 'Rp20,000 next month'], ] return [ ['1', 'Rp10,000 didapatkan hari ini (dalam 24 jam)'], ['2', 'Rp20,000 didapatkan bulan depan'], ] def payment_method_1_choices(player): if get_language(player): return [ ['OVO', 'OVO'], ['GoPay', 'GoPay'], ['DANA', 'DANA'], ['Bank Transfer', 'Bank Transfer'], ] return [ ['OVO', 'OVO'], ['GoPay', 'GoPay'], ['DANA', 'DANA'], ['Bank Transfer', 'Transfer Bank'], ] payment_method_1 = models.StringField( label='', choices=payment_method_1_choices, widget=widgets.RadioSelect, ) payment_method_2 = models.StringField( label='', choices=payment_method_2_choices, widget=widgets.RadioSelect, ) ewallet_number = models.StringField( label='', blank=True, ) bank_name = models.StringField( label='', blank=True, ) bank_acc_num = models.StringField( label='', blank=True, ) email_address = models.StringField( label='', blank=True, ) payment_info_consent = models.BooleanField( label='', choices=payment_info_consent_choices, blank=True, ) time_preference_1 = models.StringField( label='', choices=time_preference_1_choices, widget=widgets.RadioSelect, ) time_preference_2 = models.StringField( label='', choices=time_preference_2_choices, widget=widgets.RadioSelect, ) time_preference_3 = models.StringField( label='', choices=time_preference_3_choices, widget=widgets.RadioSelect, ) time_preference_4 = models.StringField( label='', choices=time_preference_4_choices, widget=widgets.RadioSelect, ) time_preference_5 = models.StringField( label='', choices=time_preference_5_choices, widget=widgets.RadioSelect, ) time_preference_6 = models.StringField( label='', choices=time_preference_6_choices, widget=widgets.RadioSelect, ) time_preference_7 = models.StringField( label='', choices=time_preference_7_choices, widget=widgets.RadioSelect, ) time_preference_8 = models.StringField( label='', choices=time_preference_8_choices, widget=widgets.RadioSelect, ) time_preference_9 = models.StringField( label='', choices=time_preference_9_choices, widget=widgets.RadioSelect, ) time_preference_10 = models.StringField( label='', choices=time_preference_10_choices, widget=widgets.RadioSelect, ) consent_failed = models.BooleanField(initial=False)