BNI API SDK - Python
This is the Official Python API client / library for BNI API.
Please visit Digital Services for more information about our product and visit our documentation page at API Documentation for more technical details.
1. Installation
1.1 Using PyPI
pip install bnipython
1.2 Manual Installation
If you are not using PyPI, you can clone or download this repository.
Then import from bnipython folder. Or run Pip install from the repo folder.
pip install .
1.3 Using PyPI Install Third Party
pip install requests
pip install pyOpenSSL
pip install pytz
2. Usage
2.1 Choose an API Product
We have 2 API products you can use:
2.2 Client Initialization and Configuration
Get your client key and server key from Menu - Applications
Create API client object
from bnipython import BNIClient
client = BNIClient({
'env': False,
'clientId': '{your-client-id}',
'clientSecret': '{your-client-secret}',
'apiKey': '{your-api-key}',
'apiSecret': '{your-api-secret}',
'appName': '{your-app-name}'
})
2.2.A One Gate Payment
Create One Gate Payment
class object
from bnipython import BNIClient, OneGatePayment
client = BNIClient({
'env': False,
'clientId': '{your-client-id}',
'clientSecret': '{your-client-secret}',
'apiKey': '{your-api-key}',
'apiSecret': '{your-api-secret}',
'appName': '{your-app-name}'
})
ogp = OneGatePayment(client)
Available methods for One Gate Payment
class
Get Balance
res = ogp.getBalance({
'accountNo': '113183203'
})
Get In House Inquiry
getInHouseInquiry = ogp.getInHouseInquiry({
'accountNo': '113183203'
})
Do Payment
doPayment = ogp.doPayment({
'customerReferenceNumber': '20170227000000000020',
'paymentMethod': '0',
'debitAccountNo': '113183203',
'creditAccountNo': '115471119',
'valueDate': '20170227000000000',
'valueCurrency': 'IDR',
'valueAmount': '100500',
'remark': '',
'beneficiaryEmailAddress': 'mail@example.com',
'beneficiaryName': 'Mr. X',
'beneficiaryAddress1': 'Jakarta',
'beneficiaryAddress2': '',
'destinationBankCode': '',
'chargingModelId': 'OUR'
})
Get Payment Status
getPaymentStatus = ogp.getPaymentStatus({
'customerReferenceNumber': '20170227000000000020'
})
Get Inter Bank Inquiry
getInterBankInquiry = ogp.getInterBankInquiry({
'customerReferenceNumber': '20180930112233003',
'accountNum': '0115476117',
'destinationBankCode': '014',
'destinationAccountNum': '01400000'
})
Get Inter Bank Payment
getInterBankPayment = ogp.getInterBankPayment({
'customerReferenceNumber': '20170227000000000021',
'amount': '100500',
'destinationAccountNum': '3333333333',
'destinationAccountName': 'BENEFICIARY NAME 1 UNTIL HERE1BENEFICIARY NAME 2(OPT) UNTIL HERE2',
'destinationBankCode': '014',
'destinationBankName': 'BCA',
'accountNum': '115471119',
'retrievalReffNum': '100000000024'
})
2.2.B Snap BI
Create Snap BI
class object
from bnipython import BNIClient, SnapBI
client = BNIClient({
'env': False,
'clientId': '{your-client-id}',
'clientSecret': '{your-client-secret}',
'apiKey': '{your-api-key}',
'apiSecret': '{your-api-secret}',
'appName': '{your-app-name}'
})
snap = SnapBI(client, {
'privateKeyPath': '{your-rsa-private-key-path}',
'channelId': '{your-channel-id}',
'ipAddress': '{your-ip-address}',
'longitude': '{your-longitude}',
'latitude': '{your-latitude}'
})
Available methods for Snap BI
class
Balance Inquiry
balanceInquiry = snap.balanceInquiry({
'partnerReferenceNo': '202010290000000000002',
'accountNo': '0115476117'
})
Internal Account Inquiry
internalAccountInquiry = snap.internalAccountInquiry({
'partnerReferenceNo': '2023062601000000000509',
'beneficiaryAccountNo': '317125693'
})
Transaction Status Inquiry
transactionStatusInquiry = snap.transactionStatusInquiry({
'originalPartnerReferenceNo': '202310271020300006',
'originalReferenceNo': '20211220141520',
'originalExternalId': '20211220141520',
'serviceCode': '22',
'transactionDate': '',
'amount': {
'value': '110000010',
'currency': 'IDR'
},
'additionalInfo': {
'deviceId': '09864ADCASA',
'channel': 'API'
}
})
Transfer Intra Bank
transferIntraBank = snap.transferIntraBank({
'partnerReferenceNo': '20220426170737356898',
'amount': {
'value': '55000.00',
'currency': 'IDR'
},
'beneficiaryAccountNo': '0115476151',
'beneficiaryEmail': 'mail@example.com',
'currency': 'IDR',
'customerReference': '20220426170737356898',
'feeType': 'OUR',
'remark': '20220426170737356898',
'sourceAccountNo': '0115476117',
'transactionDate': '2022-04-26T17:07:36+07:00',
'additionalInfo': {
'deviceId': '09864ADCASA',
'channel': 'API'
}
})
Transfer RTGS
'transferRTGS' = snap.transferRTGS({
'partnerReferenceNo': '20220513095840015788857',
'amount': {
'value': '100000001.00',
'currency': 'IDR'
},
'beneficiaryAccountName': 'PTZomatoMediaIndonesia',
'beneficiaryAccountNo': '"3333333333',
'beneficiaryAddress': 'JlGatotSubrotoNoKav18RW1KuninganBarKecMampangPrptKotaJakartaSelatanDaerahKhususIbukotaJakarta12710',
'beneficiaryBankCode': 'CENAIDJA',
'beneficiaryBankName': 'PTBANKCENTRALASIATbk',
'beneficiaryCustomerResidence': '1',
'beneficiaryCustomerType': '2',
'beneficiaryEmail': '',
'currency': 'IDR',
'customerReference': '20220513095840015788857',
'feeType': 'OUR',
'kodepos': '-',
'recieverPhone': '-',
'remark': '20220513095840015788857',
'senderCustomerResidence': '-',
'senderCustomerType': '-',
'senderPhone': '08123456789',
'sourceAccountNo': '0115476151',
'transactionDate': '2020-06-17T01:03:04+07:00',
'additionalInfo': {
'deviceId': '09864ADCASA',
'channel': 'API'
}
})
Transfer SKNBI
transferSKNBI = snap.transferSKNBI({
'partnerReferenceNo': '20220523150428586179325',
'amount': {
'value': '10000001.00',
'currency': 'IDR'
},
'beneficiaryAccountName': 'PTZomatoMediaIndonesia',
'beneficiaryAccountNo': '3333333333',
'beneficiaryAddress': 'JlGatotSubrotoNoKav18RW1KuninganBarKecMampangPrptKotaJakartaSelatanDaerahKhususIbukotaJakarta12710',
'beneficiaryBankCode': 'CENAIDJAXXX',
'beneficiaryBankName': 'PTBANKCENTRALASIATbk',
'beneficiaryCustomerResidence': '1',
'beneficiaryCustomerType': '2',
'beneficiaryEmail': '',
'currency': 'IDR',
'customerReference': '20220523150428586179325',
'feeType': 'OUR',
'kodepos': '12550',
'recieverPhone': '08123456789',
'remark': 'DANA20220523150428586179325PTZomatoMediaIndonesia',
'senderCustomerResidence': '',
'senderCustomerType': '',
'senderPhone': '',
'sourceAccountNo': '0115476151',
'transactionDate': '2020-06-17T01:03:04+07:00',
'additionalInfo': {
'deviceId': '09864ADCASA',
'channel': 'API'
}
})
External Account Inquiry
externalAccountInquiry = snap.externalAccountInquiry({
'beneficiaryBankCode': 'CENAIDJAXXX',
'beneficiaryAccountNo': '123456789',
'partnerReferenceNo': '20240226163135663',
'additionalInfo': {
'deviceId': '09864ADCASA',
'channel': 'API'
}
})
Transfer Inter Bank
transferInterBank = snap.transferInterBank({
'partnerReferenceNo': '20240226163731861',
'amount': {
'value': '20000',
'currency': 'IDR'
},
'beneficiaryAccountName': 'SRI ANGGRAINI',
'beneficiaryAccountNo': '0000000986',
'beneficiaryAddress': 'Palembang',
'beneficiaryBankCode': '014',
'beneficiaryBankName': 'Bank BCA',
'beneficiaryEmail': 'customertes@outlook.com',
'currency': 'IDR',
'customerReference': '20231219085',
'sourceAccountNo': '1000161562',
'transactionDate': '2024-01-04T08:37:08+07:00',
'feeType': 'OUR',
'additionalInfo': {
'deviceId': '09864ADCASA',
'channel': 'API'
}
})
2.2.C RDN
Create RDN
class object
from bnipython import BNIClient, RDN
client = BNIClient({
'env': False,
'clientId': '{your-client-id}',
'clientSecret': '{your-client-secret}',
'apiKey': '{your-api-key}',
'apiSecret': '{your-api-secret}',
'appName': '{your-app-name}'
})
rekening_dana_nasabah = RDN(client)
Available methods for RDN
class
Face Recognition
faceRecognition = rekening_dana_nasabah.faceRecognition({
'companyId': 'SANDBOX',
'parentCompanyId': 'STI_CHS',
'firstName': 'MOHAMMAD',
'middleName': 'BAQER',
'lastName': 'ZALQAD',
'idNumber': '0141111121260118',
'birthDate': '29-09-2021',
'birthPlace': 'BANDUNG',
'gender': 'M',
'cityAddress': 'Bandung',
'stateProvAddress': 'Jawa Barat',
'addressCountry': 'ID',
'streetAddress1': 'bandung',
'streetAddress2': 'bandung',
'postCodeAddress': '40914',
'country': 'ID',
'selfiePhoto': '29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuP'
})
Register Investor
registerInvestor = rekening_dana_nasabah.registerInvestor({
'companyId': 'SANDBOX',
'parentCompanyId': 'STI_CHS',
'uuidFaceRecog': '492F33851D634CFB',
'title': '01',
'firstName': 'Agus',
'middleName': '',
'lastName': 'Saputra',
'optNPWP': '1',
'NPWPNum': '001058893408123',
'nationality': 'ID',
'domicileCountry': 'ID',
'religion': '2',
'birthPlace': 'Semarang',
'birthDate': '14081982',
'gender': 'M',
'isMarried': 'S',
'motherMaidenName': 'Dina Maryati',
'jobCode': '01',
'education': '7',
'idType': '01',
'idNumber': '4147016201959998',
'idIssuingCity': 'Jakarta Barat',
'idExpiryDate': '26102099',
'addressStreet': 'Jalan Mawar Melati',
'addressRtRwPerum': '003009Sentosa',
'addressKel': 'Cengkareng Barat',
'addressKec': 'Cengkareng/Jakarta Barat',
'zipCode': '11730',
'homePhone1': '0214',
'homePhone2': '7459',
'officePhone1': '',
'officePhone2': '',
'mobilePhone1': '0812',
'mobilePhone2': '12348331',
'faxNum1': '',
'faxNum2': '',
'email': 'agus.saputra@gmail.com',
'monthlyIncome': '8000000',
'branchOpening': '0259',
'institutionName': 'PT. BNI SECURITIES',
'sid': 'IDD280436215354',
'employerName': 'Salman',
'employerAddDet': 'St Baker',
'employerAddCity': 'Arrandelle',
'jobDesc': 'Pedagang',
'ownedBankAccNo': '0337109074',
'idIssuingDate': '10122008'
})
CheckSID
checkSID = rekening_dana_nasabah.checkSID({
'companyId': 'SANDBOX',
'parentCompanyId': 'STI_CHS',
'participantId': 'NI001',
'sidNumber': 'IDD1206M9527805',
'accountNumberOnKsei': 'NI001CRKG00146',
'branchCode': '0259',
'ack': 'Y'
})
Register Investor Account
registerInvestorAccount = rekening_dana_nasabah.registerInvestorAccount({
'companyId': 'SANDBOX',≈
'parentCompanyId': 'STI_CHS',
'cifNumber': '9100749959',
'currency': 'IDR',
'openAccountReason': '2',
'sourceOfFund': '1',
'branchId': '0259',
'bnisId': '19050813401',
'sre': 'NI001CX5U00109'
})
Send Data Static
sendDataStatic = rekening_dana_nasabah.sendDataStatic({
'companyId': 'SPS App',
'parentCompanyId': 'KSEI',
'participantCode': 'NI001',
'participantName': 'PT. BNI SECURITIES',
'investorName': 'SUMARNO',
'investorCode': 'IDD250436742277',
'investorAccountNumber': 'NI001042300155',
'bankAccountNumber': '242345393',
'activityDate': '20180511',
'activity': 'O'
})
Inquiry Account Info
inquiryAccountInfo = rekening_dana_nasabah.inquiryAccountInfo({
'companyId': 'SANDBOX',
'parentCompanyId': 'STI_CHS',
'accountNumber': '0115476117'
})
Inquiry Account Balance
inquiryAccountBalance = rekening_dana_nasabah.inquiryAccountBalance({
'companyId': 'SANDBOX',
'parentCompanyId': 'STI_CHS',
'accountNumber': '0115476117'
})
Payment Using Transfer
paymentUsingTransfer = rekening_dana_nasabah.paymentUsingTransfer({
'companyId': 'SANDBOX',
'parentCompanyId': 'STI_CHS',
'accountNumber': '0115476117',
'beneficiaryAccountNumber': '0115471119',
'currency': 'IDR',
'amount': '11500',
'remark': 'Test RDN'
})
Inquiry Payment Status
inquiryPaymentStatus = rekening_dana_nasabah.inquiryPaymentStatus({
'companyId': 'SANDBOX',
'parentCompanyId': 'STI_CHS',
'requestedUuid': 'E8C6E0027F6E429F'
})
Payment Using Clearing
paymentUsingClearing = rekening_dana_nasabah.paymentUsingClearing({
'companyId': 'SANDBOX',
'parentCompanyId': 'STI_CHS',
'accountNumber': '0115476117',
'beneficiaryAccountNumber': '3333333333',
'beneficiaryAddress1': 'Jakarta',
'beneficiaryAddress2': '',
'beneficiaryBankCode': '140397',
'beneficiaryName': 'Panji Samudra',
'currency': 'IDR',
'amount': '15000',
'remark': 'Test kliring',
'chargingType': 'OUR'
})
Payment Using RTGS
paymentUsingRTGS = rekening_dana_nasabah.paymentUsingRTGS({
'companyId': 'NI001',
'parentCompanyId': 'KSEI',
'accountNumber': '0115476117',
'beneficiaryAccountNumber': '3333333333',
'beneficiaryAddress1': 'Jakarta',
'beneficiaryAddress2': '',
'beneficiaryBankCode': 'CENAIDJA',
'beneficiaryName': 'Panji Samudra',
'currency': 'IDR',
'amount': '150000000',
'remark': 'Test rtgs',
'chargingType': 'OUR'
})
Inquiry Inter Bank Account
inquiryInterbankAccount = rekening_dana_nasabah.inquiryInterbankAccount({
'companyId': 'NI001',
'parentCompanyId': 'KSEI',
'accountNumber': '0115476117',
'beneficiaryBankCode': '013',
'beneficiaryAccountNumber': '01300000'
})
Payment Using Inter Bank
paymentUsingInterbank = rekening_dana_nasabah.paymentUsingInterbank({
'companyId': 'SANDBOX',
'parentCompanyId': 'STI_CHS',
'accountNumber': '0115476117',
'beneficiaryAccountNumber': '3333333333',
'beneficiaryAccountName': 'KEN AROK',
'beneficiaryBankCode': '014',
'beneficiaryBankName': 'BANK BCA',
'amount': '15000'
})
2.2.C RDL
Create RDL
class object
from bnipython import BNIClient, RDL
client = BNIClient({
'env': False,
'clientId': '{your-client-id}',
'clientSecret': '{your-client-secret}',
'apiKey': '{your-api-key}',
'apiSecret': '{your-api-secret}',
'appName': '{your-app-name}'
})
p2p_lending = RDL(client)
Available methods for RDL
class
Face Recognition
faceRecognition = p2p_lending.faceRecognition({
'companyId': 'SANDBOX',
'parentCompanyId': 'STI_CHS',
'firstName': 'MOHAMMAD',
'middleName': 'BAQER',
'lastName': 'ZALQAD',
'idNumber': '0141111121260118',
'birthDate': '29-09-2021',
'birthPlace': 'BANDUNG',
'gender': 'M',
'cityAddress': 'Bandung',
'stateProvAddress': 'Jawa Barat',
'addressCountry': 'ID',
'streetAddress1': 'bandung',
'streetAddress2': 'bandung',
'postCodeAddress': '40914',
'country': 'ID',
'selfiePhoto': '29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuP'
})
Register Investor
registerInvestor = p2p_lending.registerInvestor({
'companyId': 'SANDBOX',
'parentCompanyId': 'STI_CHS',
'uuidFaceRecog': '492F33851D634CFB',
'title': '01',
'firstName': 'Agus',
'middleName': '',
'lastName': 'Saputra',
'optNPWP': '1',
'NPWPNum': '001058893408123',
'nationality': 'ID',
'domicileCountry': 'ID',
'religion': '2',
'birthPlace': 'Semarang',
'birthDate': '14081982',
'gender': 'M',
'isMarried': 'S',
'motherMaidenName': 'Dina Maryati',
'jobCode': '01',
'education': '07',
'idType': '01',
'idNumber': '4147016201959998',
'idIssuingCity': 'Jakarta Barat',
'idExpiryDate': '26102099',
'addressStreet': 'Jalan Mawar Melati',
'addressRtRwPerum': '003009Sentosa',
'addressKel': 'Cengkareng Barat',
'addressKec': 'Cengkareng/Jakarta Barat',
'zipCode': '11730',
'homePhone1': '0214',
'homePhone2': '7459',
'officePhone1': '',
'officePhone2': '',
'mobilePhone1': '0812',
'mobilePhone2': '12348331',
'faxNum1': '',
'faxNum2': '',
'email': 'agus.saputra@gmail.com',
'monthlyIncome': '8000000',
'branchOpening': '0259',
'institutionName': 'PT. BNI SECURITIES',
'sid': 'IDD280436215354',
'employerName': 'Salman',
'employerAddDet': 'St Baker',
'employerAddCity': 'Arrandelle',
'jobDesc': 'Pedagang',
'ownedBankAccNo': '0337109074',
'idIssuingDate': '10122008'
})
Register Investor Account
registerInvestorAccount = p2p_lending.registerInvestorAccount({
'companyId': 'SANDBOX',≈
'parentCompanyId': 'STI_CHS',
'cifNumber': '9100749959',
'currency': 'IDR',
'openAccountReason': '2',
'sourceOfFund': '1',
'branchId': '0259',
'bnisId': '19050813401',
'sre': 'NI001CX5U00109'
})
Inquiry Account Info
inquiryAccountInfo = p2p_lending.inquiryAccountInfo({
'companyId': 'SANDBOX',
'parentCompanyId': 'STI_CHS',
'accountNumber': '0115476117'
})
Inquiry Account Balance
inquiryAccountBalance = p2p_lending.inquiryAccountBalance({
'companyId': 'SANDBOX',
'parentCompanyId': 'STI_CHS',
'accountNumber': '0115476117'
})
Inquiry Account History
inquiryAccountHistory = p2p_lending.inquiryAccountHistory({
'companyId': 'SANDBOX',
'parentCompanyId': 'STI_CHS',
'accountNumber': '0115476117'
})
Payment Using Transfer
paymentUsingTransfer = p2p_lending.paymentUsingTransfer({
'companyId': 'SANDBOX',
'parentCompanyId': 'STI_CHS',
'accountNumber': '0115476117',
'beneficiaryAccountNumber': '0115471119',
'currency': 'IDR',
'amount': '11500',
'remark': 'Test RDL'
})
Inquiry Payment Status
inquiryPaymentStatus = p2p_lending.inquiryPaymentStatus({
'companyId': 'SANDBOX',
'parentCompanyId': 'STI_CHS',
'requestedUuid': 'E8C6E0027F6E429F'
})
Payment Using Clearing
paymentUsingClearing = p2p_lending.paymentUsingClearing({
'companyId': 'SANDBOX',
'parentCompanyId': 'STI_CHS',
'accountNumber': '0115476117',
'beneficiaryAccountNumber': '3333333333',
'beneficiaryAddress1': 'Jakarta',
'beneficiaryAddress2': '',
'beneficiaryBankCode': '140397',
'beneficiaryName': 'Panji Samudra',
'currency': 'IDR',
'amount': '15000',
'remark': 'Test kliring',
'chargingType': 'OUR'
})
Payment Using RTGS
paymentUsingRTGS = p2p_lending.paymentUsingRTGS({
'companyId': 'NI001',
'parentCompanyId': 'KSEI',
'accountNumber': '0115476117',
'beneficiaryAccountNumber': '3333333333',
'beneficiaryAddress1': 'Jakarta',
'beneficiaryAddress2': '',
'beneficiaryBankCode': 'CENAIDJA',
'beneficiaryName': 'Panji Samudra',
'currency': 'IDR',
'amount': '150000000',
'remark': 'Test rtgs',
'chargingType': 'OUR'
})
Inquiry Inter Bank Account
inquiryInterbankAccount = p2p_lending.inquiryInterbankAccount({
'companyId': 'NI001',
'parentCompanyId': 'KSEI',
'accountNumber': '0115476117',
'beneficiaryBankCode': '013',
'beneficiaryAccountNumber': '01300000'
})
Payment Using Inter Bank
paymentUsingInterbank = p2p_lending.paymentUsingInterbank({
'companyId': 'SANDBOX',
'parentCompanyId': 'STI_CHS',
'accountNumber': '0115476117',
'beneficiaryAccountNumber': '3333333333',
'beneficiaryAccountName': 'KEN AROK',
'beneficiaryBankCode': '014',
'beneficiaryBankName': 'BANK BCA',
'amount': '15000'
})
2.2.E RDF
Create RDF
class object
from bnipython import BNIClient, RDF
client = BNIClient({
'env': False,
'clientId': '{your-client-id}',
'clientSecret': '{your-client-secret}',
'apiKey': '{your-api-key}',
'apiSecret': '{your-api-secret}',
'appName': '{your-app-name}'
})
rekening_dana_funder = RDF(client)
Available methods for RDF
class
Face Recognition
faceRecognition = rekening_dana_funder.faceRecognition({
'companyId': 'SANDBOX',
'parentCompanyId': 'STI_CHS',
'firstName': 'MOHAMMAD',
'middleName': 'BAQER',
'lastName': 'ZALQAD',
'idNumber': '0141111121260118',
'birthDate': '29-09-2021',
'birthPlace': 'BANDUNG',
'gender': 'M',
'cityAddress': 'Bandung',
'stateProvAddress': 'Jawa Barat',
'addressCountry': 'ID',
'streetAddress1': 'bandung',
'streetAddress2': 'bandung',
'postCodeAddress': '40914',
'country': 'ID',
'selfiePhoto': '29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuP'
})
Register Investor
registerInvestor = rekening_dana_funder.registerInvestor({
'companyId': 'SANDBOX',
'parentCompanyId': 'STI_CHS',
'uuidFaceRecog': '492F33851D634CFB',
'title': '01',
'firstName': 'Agus',
'middleName': '',
'lastName': 'Saputra',
'optNPWP': '1',
'NPWPNum': '001058893408123',
'nationality': 'ID',
'domicileCountry': 'ID',
'religion': '2',
'birthPlace': 'Semarang',
'birthDate': '14081982',
'gender': 'M',
'isMarried': 'S',
'motherMaidenName': 'Dina Maryati',
'jobCode': '01',
'education': '07',
'idType': '01',
'idNumber': '4147016201959998',
'idIssuingCity': 'Jakarta Barat',
'idExpiryDate': '26102099',
'addressStreet': 'Jalan Mawar Melati',
'addressRtRwPerum': '003009Sentosa',
'addressKel': 'Cengkareng Barat',
'addressKec': 'Cengkareng/Jakarta Barat',
'zipCode': '11730',
'homePhone1': '0214',
'homePhone2': '7459',
'officePhone1': '',
'officePhone2': '',
'mobilePhone1': '0812',
'mobilePhone2': '12348331',
'faxNum1': '',
'faxNum2': '',
'email': 'agus.saputra@gmail.com',
'monthlyIncome': '8000000',
'branchOpening': '0259',
'institutionName': 'PT. BNI SECURITIES',
'sid': 'IDD280436215354',
'employerName': 'Salman',
'employerAddDet': 'St Baker',
'employerAddCity': 'Arrandelle',
'jobDesc': 'Pedagang',
'ownedBankAccNo': '0337109074',
'idIssuingDate': '10122008'
})
Register Investor Account
registerInvestorAccount = rekening_dana_funder.registerInvestorAccount({
'companyId': 'SANDBOX',≈
'parentCompanyId': 'STI_CHS',
'cifNumber': '9100749959',
'currency': 'IDR',
'openAccountReason': '2',
'sourceOfFund': '1',
'branchId': '0259',
'bnisId': '19050813401',
'sre': 'NI001CX5U00109'
})
Inquiry Account Info
inquiryAccountInfo = rekening_dana_funder.inquiryAccountInfo({
'companyId': 'SANDBOX',
'parentCompanyId': 'STI_CHS',
'accountNumber': '0115476117'
})
Inquiry Account Balance
inquiryAccountBalance = rekening_dana_funder.inquiryAccountBalance({
'companyId': 'SANDBOX',
'parentCompanyId': 'STI_CHS',
'accountNumber': '0115476117'
})
Inquiry Account History
inquiryAccountHistory = rekening_dana_funder.inquiryAccountHistory({
'companyId': 'SANDBOX',
'parentCompanyId': 'STI_CHS',
'accountNumber': '0115476117'
})
Payment Using Transfer
paymentUsingTransfer = rekening_dana_funder.paymentUsingTransfer({
'companyId': 'SANDBOX',
'parentCompanyId': 'STI_CHS',
'accountNumber': '0115476117',
'beneficiaryAccountNumber': '0115471119',
'currency': 'IDR',
'amount': '11500',
'remark': 'Test RDL'
})
Inquiry Payment Status
inquiryPaymentStatus = rekening_dana_funder.inquiryPaymentStatus({
'companyId': 'SANDBOX',
'parentCompanyId': 'STI_CHS',
'requestedUuid': 'E8C6E0027F6E429F'
})
Payment Using Clearing
paymentUsingClearing = rekening_dana_funder.paymentUsingClearing({
'companyId': 'SANDBOX',
'parentCompanyId': 'STI_CHS',
'accountNumber': '0115476117',
'beneficiaryAccountNumber': '3333333333',
'beneficiaryAddress1': 'Jakarta',
'beneficiaryAddress2': '',
'beneficiaryBankCode': '140397',
'beneficiaryName': 'Panji Samudra',
'currency': 'IDR',
'amount': '15000',
'remark': 'Test kliring',
'chargingType': 'OUR'
})
Payment Using RTGS
paymentUsingRTGS = rekening_dana_funder.paymentUsingRTGS({
'companyId': 'NI001',
'parentCompanyId': 'KSEI',
'accountNumber': '0115476117',
'beneficiaryAccountNumber': '3333333333',
'beneficiaryAddress1': 'Jakarta',
'beneficiaryAddress2': '',
'beneficiaryBankCode': 'CENAIDJA',
'beneficiaryName': 'Panji Samudra',
'currency': 'IDR',
'amount': '150000000',
'remark': 'Test rtgs',
'chargingType': 'OUR'
})
Inquiry Inter Bank Account
inquiryInterbankAccount = rekening_dana_funder.inquiryInterbankAccount({
'companyId': 'NI001',
'parentCompanyId': 'KSEI',
'accountNumber': '0115476117',
'beneficiaryBankCode': '013',
'beneficiaryAccountNumber': '01300000'
})
Payment Using Inter Bank
paymentUsingInterbank = rekening_dana_funder.paymentUsingInterbank({
'companyId': 'SANDBOX',
'parentCompanyId': 'STI_CHS',
'accountNumber': '0115476117',
'beneficiaryAccountNumber': '3333333333',
'beneficiaryAccountName': 'KEN AROK',
'beneficiaryBankCode': '014',
'beneficiaryBankName': 'BANK BCA',
'amount': '15000'
})
2.2.F BNI Move / Digiloan
Create BNIMove
class object
from bnipython import BNIClient, BNIMove
client = BNIClient({
'env': False,
'clientId': '{your-client-id}',
'clientSecret': '{your-client-secret}',
'apiKey': '{your-api-key}',
'apiSecret': '{your-api-secret}',
'appName': '{your-app-name}'
})
bniMove = BNIMove(client)
Available methods for BNIMove
class
Prescreening
prescreening = bniMove.prescreening({
"kodeMitra":"BNI",
"npp":"",
"namaLengkapKtp":"Muhammad Haikal Madani",
"noKtp":"3174052209980002",
"noHandphone":"085921658045",
"alamatUsaha":"jakarta",
"provinsiUsaha":"06",
"kotaUsaha":"143",
"kecamatanUsaha":"1074",
"kelurahanUsaha":"4254",
"kodePosUsaha":"11450",
"sektorEkonomi":"2",
"totalPenjualan":50000000,
"jangkaWaktu":"12",
"jenisPinjaman":"1",
"maximumKredit":50000000,
"jenisKelamin":"1",
"tanggalLahir":"1998-10-07",
"subSektorEkonomi":"050111",
"deskripsi":"Usaha Ternak Perikanan",
"email":"muhammadhaikalmadani@mail.com"
})
Save Image
saveImage = bniMove.saveImage({
"Id": "MJO2024022000004",
"deskripsi": "Foto Identitas KTP",
"jenisDokumen": "A03",
"namaFile": "Foto KTP",
"extensionFile": "png",
"dataBase64": ""
})
Get help