def create_payment(booking, offerer, amount, author='test author', reimbursement_rule='remboursement à 100%',
                   reimbursement_rate=Decimal(0.5), payment_message=None, payment_message_name=None,
                   transaction_end_to_end_id=None,
                   transaction_label='pass Culture Pro - remboursement 2nde quinzaine 07-2018',
                   status=TransactionStatus.PENDING, idx=None, iban='FR7630007000111234567890144', bic='BDFEFR2LCCB'):
    payment = Payment()
    payment.booking = booking
    payment.amount = amount
    payment.author = author
    payment.iban = iban
    payment.bic = bic
    payment.recipientName = offerer.name
    payment.recipientSiren = offerer.siren
    payment_status = PaymentStatus()
    payment_status.status = status
    payment_status.date = datetime.utcnow()
    payment.statuses = [payment_status]
    payment.reimbursementRule = reimbursement_rule
    payment.reimbursementRate = reimbursement_rate

    if payment_message_name:
        payment.paymentMessage = create_payment_message(payment_message_name)
    elif payment_message:
        payment.paymentMessage = payment_message

    payment.transactionEndToEndId = transaction_end_to_end_id
    payment.transactionLabel = transaction_label
    payment.id = idx
    return payment