PhpDev.App
lintangtimur/ovoid

lintangtimur/ovoid

Stars: 155

Forks: 95

Pull Requests: 6

Issues: 57

Watchers: 13

Last Updated: 2021-10-29 16:02:06

Un-Official OVO API Wrapper

License: MIT License

Languages: PHP

Packagist patreons

Untuk Donasi

https://trakteer.id/stefanus-lintang/tip

Un-Official ovoid API Wrapper

Telah di test pada OVO versi 3.43.0 | 24 September 2021 | PHP 7.2.2

Method Result OVO Version
OTP OK 3.43.0(5 okt 21)
OTPValidation OK 3.43.0 (5 okt 21)
accountLogin OK 3.43.0 (5 okt 21)
getBudget OK 3.43.0 (24 sept 21)
balanceModel OK 3.43.0 (24 sept 21)
logout not tested 3.43.0 (24 sept 21)
unreadHistory tested 3.43.0 (5 okt 21)
getWalletTransaction OK 3.43.0 (24 sept 21)
detailHistory tested 3.43.0 (5 okt 21)
balance tested 3.43.0 (5 okt 21)
generateTrxId not tested 3.43.0 (24 sept 21)
transferOvo not tested 3.43.0 (24 sept 21)

PORTS

Jika PHP tidak nyaman bagimu bisa mencoba bahasa pemrograman lain, atau jika ingin menulis dibahasa tersebut silahkan ajukan Issue baru nanti akan saya list disini

Python

Flutter

GO

Java

Ruby

Javascript / nodejs

Install

composer require lintangtimur/ovoid

Login

first step

require 'vendor/autoload.php';
use Stelin\OVOID;

$ovo = new OVOID(null, "contoh-device-id");
echo $ovo->OTP("+62xxxxxxxx")->getData()->getOtp()->getOtpRefId();

second step

echo $ovo->OTPValidation("+62xxxxxx", "otp-ref-id", "otp")->getData()->getOtp()->getOtpToken();

third step

echo $ovo->accountLogin("+62xxxxx", 'otp-ref-id', 'otp-token', '6-digit-security-code')->getData()->getAuth()->getAccessToken();

Balance Model

Get Payment Method

getPaymentMethod()

Get Card Balance

getCardBalance($payment_method)

Get Card No

getCardNo($payment_method)

EXAMPLE

<?php

require 'vendor/autoload.php';

use Stelin\OVOID;
$ovoid = new OVOID($authToken);
dd($ovoid->modelBalance()->getBalance()->getCardNo()('OVO'));

Profile Model

Permission Model

Transfer Sesama OVO

Telah di test di OVO 2.8.0

Sebelum transfer silahkan cek akunnya benar atau tidak dengan method isOVO(), lalu jalankan method dibawah

public function transferOvo($to_mobilePhone, $amount, $message = null)

Sementara hanya bisa 2 kali transfer, untuk transfer ke-3 dari OVO butuh header signature. Jika ada yang bisa menemukan proses signaturenya silahkan ajukan pull request dengan senang hati :)

Transaction History

/**
     * Wallet Transaction
     *
     * @param int $page halaman ke berapa
     * @param int $limit berapa kontent dalam 1 page
     * @return \Stelin\Response\WalletTransactionResponse
     */
    public function getWalletTransaction($page, $limit = 10)

disitu ada hardcode productType 001, bisa dicoba sendiri itu efek terhadap apa, karena saya tesnya hasil transfer sesama OVO.

Mendapatkan semua notif

    /**
     * get all notification
     *
     * @return \Stelin\Response\NotificationAllResponse
     */
    public function allNotification()

Cek berapa notifikasi yang belum dibaca

/**
     * mendapatkan total unread history
     *
     * @return \Stelin\Response\NotificationUnread
     */
    public function unreadHistory()

Contoh: $ovo->unreadHistory()->getTotal()

Transfer Antar Bank

    /**
     * transer antar bank
     *
     * @param  string                                  $accountName          nama akun
     * @param  string                                  $accountNo            No akun OVO Cash
     * @param  string                                  $accountNoDestination No rekening yang dituju
     * @param  int                                     $amount               jumlah yang akan ditransfer
     * @param  string                                  $bankCode             kode bank yang dituju
     * @param  string                                  $bankName             nama bank
     * @param  string                                  $message
     * @param  string                                  $notes
     * @return \Stelin\Response\TransferDirectResponse
     */
    public function transferBank($accountName, $accountNo, $accountNoDestination, $amount, $bankCode, $bankName, $message, $notes)

TODO

  • Signature Header untuk transfer sesama OVO lebih dari 2x

Contribute

Project ini saya membuatnya kasaran sekali, jadi ketika ada proses request ke endpoint ovo dan terjadi kegagalan atau parameter tidak sesuai, script masih belum bisa mendapatkan response error dari ovo nya, harus manual dd dari source code(dari file Response). Jadi silahkan berkontribusi, baik dari dokumentasi program atau membenahi script ini :)