@staticmethod
def payload_for_create(to_type, to_id, amount, currency, ip, **kwargs):
    """Build the API 'create transaction' payload from property values."""
    payload = {'to': {'type': to_type, 'id': to_id}, 'amount': {'amount':
        amount, 'currency': currency}, 'extra': {'ip': ip, 'supp_id': 
        kwargs.get('supp_id') or '', 'note': kwargs.get('note') or ''}}
    if 'process_in' in kwargs:
        payload['extra']['process_on'] = kwargs['process_in']
    fees = []
    if 'fee_amount' in kwargs:
        fee = {'fee': kwargs['fee_amount'], 'note': kwargs.get('fee_note'),
            'to': {'id': kwargs['fee_to_id']}}
        fees.append(fee)
    if fees:
        payload['fees'] = fees
    if 'fees' in kwargs:
        payload['fees'] = kwargs['fees']
    return payload
