myaccount.worldcurrencycard.co.za Open in urlscan Pro
216.119.218.174  Public Scan

URL: https://myaccount.worldcurrencycard.co.za/login/?returnurl=/my-account/
Submission: On September 16 via api from US — Scanned from DE

Form analysis 2 forms found in the DOM

Name: formPOST

<form class="form login-form ng-invalid ng-invalid-required ng-valid-minlength ng-valid-maxlength ng-valid-email ng-valid-pattern ng-invalid-invalid ng-dirty ng-valid-parse" name="form" method="post" ng-submit="ctrl.onSubmit('/login.json', form)"
  novalidate="" auto-tab-container="">
  <div class="form-row" ng-class="{error: ctrl.isInvalid(form, form.cardNumber)}">
    <label for="card-num-1"> Card number <div class="tool-tip" style="position: relative;">
        <a href="#" class="inline-help js-tt-trg"></a>
        <div class="tt-content-wrap js-tt-content">
          <div class="tt-content">
            <p>Enter the first 6 and last 4 digits of the number found on the front of your card.<br><img style="width: 195px; height: 133px;" src="/media/228056/x122238_za_bidvest_consumer_mcp_aol_cl_card_r1_200.png?width=195&amp;height=133" alt="">
            </p>
          </div>
        </div>
        <div class="tt-pointer js-tt-pointer"></div>
      </div>
    </label>
    <div class="inp-cc inp-grp" card-number-group="">
      <input type="tel" class="inp-txt ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required ng-valid-minlength ng-valid-maxlength" ng-model="ctrl.model.CardNumberSet1" maxlength="4" minlength="4" id="card-num-1" name="cardNum1"
        card-part="" autocomplete="off" auto-tab="" required="" number-only="">
      <div class="mask-0011">
        <input type="tel" class="inp-txt ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required ng-valid-minlength ng-valid-maxlength" ng-model="ctrl.model.CardNumberSet2" maxlength="2" minlength="2" id="card-num-2" name="cardNum2"
          card-part="" autocomplete="off" auto-tab="" required="" number-only="">
      </div>
      <div class="mask-1111">
        <input type="text" class="inp-txt" disabled="" id="card-num-3" autocomplete="off">
      </div>
      <input type="tel" class="inp-txt ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required ng-valid-minlength ng-valid-maxlength" ng-model="ctrl.model.CardNumberSet4" maxlength="4" minlength="4" id="card-num-4" name="cardNum4"
        card-part="" autocomplete="off" auto-tab="" required="" number-only="">
      <input type="hidden" name="cardNumber" ng-model="cardNumber" card-number="" autocomplete="off" class="ng-untouched ng-empty ng-invalid ng-invalid-invalid ng-dirty ng-valid-parse ng-invalid-required">
    </div>
    <div class="inp-err-msg ng-active ng-hide" ng-messages="form.cardNumber.$error" ng-show="ctrl.isInvalid(form, form.cardNumber)">
      <!-- ngRepeat: key in ctrl.getKeys(ctrl.errors.cardNumber) -->
      <div ng-repeat="key in ctrl.getKeys(ctrl.errors.cardNumber)" class="ng-scope">
        <!-- ngMessageExp: key -->
        <div ng-message-exp="key" class="ng-binding ng-scope">Card number is required</div>
      </div><!-- end ngRepeat: key in ctrl.getKeys(ctrl.errors.cardNumber) -->
      <div ng-repeat="key in ctrl.getKeys(ctrl.errors.cardNumber)" class="ng-scope">
        <!-- ngMessageExp: key -->
      </div><!-- end ngRepeat: key in ctrl.getKeys(ctrl.errors.cardNumber) -->
    </div>
  </div>
  <div class="form-row" ng-class="{error: ctrl.isInvalid(form, form.email)}">
    <label for="email">Email address</label>
    <input type="email" class="inp-txt ng-pristine ng-untouched ng-empty ng-valid-email ng-invalid ng-invalid-required ng-valid-pattern" id="email" name="email" ng-model="ctrl.model.Email" required="" autocomplete="off" auto-tab=""
      ng-pattern="/^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/">
    <div class="inp-err-msg ng-inactive ng-hide" ng-messages="form.email.$error" ng-show="ctrl.isInvalid(form, form.email)">
      <div class="inp-err-msg">
        <!-- ngIf: form.email.$dirty &&form.email.$error.required -->
        <!-- ngIf: form.email.$dirty &&form.email.$error.pattern -->
      </div>
    </div>
  </div>
  <div class="form-row" ng-class="{error: ctrl.isInvalid(form, form.password)}">
    <label for="password">Password</label>
    <input type="password" class="inp-txt ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required" id="password" name="password" ng-model="ctrl.model.Password" required="" autocomplete="off">
    <div class="inp-err-msg ng-active ng-hide" ng-messages="form.password.$error" ng-show="ctrl.isInvalid(form, form.password)">
      <!-- ngRepeat: key in ctrl.getKeys(ctrl.errors.password) -->
      <div ng-repeat="key in ctrl.getKeys(ctrl.errors.password)" class="ng-scope">
        <!-- ngMessageExp: key -->
        <div ng-message-exp="key" class="ng-binding ng-scope">Password is required</div>
      </div><!-- end ngRepeat: key in ctrl.getKeys(ctrl.errors.password) -->
    </div>
  </div>
  <div class="form-row">
    <input type="checkbox" id="rememberme" name="rememberme" autocomplete="off" ng-model="ctrl.model.RememberMe" class="ng-pristine ng-untouched ng-valid ng-empty">
    <label for="rememberme"> Remember me <a href="https://myaccount.worldcurrencycard.co.za/forgot-password/" class="lnk lnk-forgot-password">Forgot password?</a>
    </label>
  </div>
  <input autocomplete="off" type="hidden" name="isCaptchaEnabled" id="isCaptchaEnabled" value="value">
  <div class="form-row ng-hide" ng-show="ctrl.showCaptcha">
    <div class="g-recaptcha" data-sitekey="6LdCNBkUAAAAAE53Yq-whpmH0m8WGp8dtMjRpS-o" data-callback="reCaptchaCallback">
      <div style="width: 304px; height: 78px;">
        <div><iframe title="reCAPTCHA"
            src="https://www.google.com/recaptcha/api2/anchor?ar=1&amp;k=6LdCNBkUAAAAAE53Yq-whpmH0m8WGp8dtMjRpS-o&amp;co=aHR0cHM6Ly9teWFjY291bnQud29ybGRjdXJyZW5jeWNhcmQuY28uemE6NDQz&amp;hl=de&amp;v=uEf7E1417z6GNSkRx7AyL8K8&amp;size=normal&amp;cb=rvzgfv1x6e8g"
            width="304" height="78" role="presentation" name="a-eehl9iksr0hg" frameborder="0" scrolling="no" sandbox="allow-forms allow-popups allow-same-origin allow-scripts allow-top-navigation allow-modals allow-popups-to-escape-sandbox"></iframe>
        </div><textarea id="g-recaptcha-response" name="g-recaptcha-response" class="g-recaptcha-response"
          style="width: 250px; height: 40px; border: 1px solid rgb(193, 193, 193); margin: 10px 25px; padding: 0px; resize: none; display: none;"></textarea>
      </div><iframe style="display: none;"></iframe>
    </div>
  </div>
  <div class="form-btn-row">
    <button class="btn cta-1" ng-disabled="ctrl.isAjaxing || !ctrl.isCaptchaCompleted">Login</button>
  </div>
</form>

Name: form1POST

<form class="form sca-form ng-pristine ng-invalid ng-invalid-required ng-valid-maxlength" name="form1" method="post" ng-submit="ctrl.onScaSubmit('/login.json', form1)" novalidate="" auto-tab-container="">
  <div class="form-row" ng-class="{error: ctrl.isInvalid(form1, form1.scaRequired)}">
    <label for="card-num-1" id="labelMins"> We have sent you a one time passcode that consists of 6 numbers. Please enter the code below, it will expire in otpTimeOut minutes </label>
    <label for="otp" style="text-align:left">Please enter your 6 digit OTP</label>
    <input type="tel" class="inp-txt ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required ng-valid-maxlength" id="scaRequired" name="scaRequired" ng-model="ctrl.model.OneTimePassword" maxlength="10" required="" autocomplete="off"
      number-only="">
    <div class="inp-err-msg ng-active ng-hide" ng-messages="form1.scaRequired.$error" ng-show="ctrl.isInvalid(form1, form1.scaRequired)" style="text-align:left">
      <!-- ngRepeat: key in ctrl.getKeys(ctrl.errors.scaRequired) -->
      <div ng-repeat="key in ctrl.getKeys(ctrl.errors.scaRequired)" class="ng-scope">
        <!-- ngMessageExp: key -->
        <div ng-message-exp="key" class="ng-binding ng-scope">OTP is required</div>
      </div><!-- end ngRepeat: key in ctrl.getKeys(ctrl.errors.scaRequired) -->
    </div>
  </div>
  <div class="form-btn-row">
    <button class="btn cta-1" ng-disabled="ctrl.isAjaxing">Submit</button>
  </div>
  <div class="form-row">
    <label for="resendotp">
      <a href="#" id="resendOtpLink" class="resend-otp-link" ng-click="ctrl.resendOtp('/login.json', form1)">Did not recieve OTP code? Please resend</a>
    </label>
  </div>
</form>

Text Content

Menu
Register Login



LOGIN



Card number

Enter the first 6 and last 4 digits of the number found on the front of your
card.




Card number is required

Email address

Password
Password is required
Remember me Forgot password?

Login

CAN'T REMEMBER YOUR PASSWORD?

 1. Click 'Forgot Password'
 2. Confirm your account details
 3. An email with a link to reset your password will be sent to you





PLEASE CHECK YOUR EMAIL



We have sent you a one time passcode that consists of 6 numbers. Please enter
the code below, it will expire in otpTimeOut minutes Please enter your 6 digit
OTP
OTP is required
Submit
Did not recieve OTP code? Please resend

Need an account? Register your card 

mastercard

World Currency Card™ is issued by Bidvest Bank Limited, pursuant to license by
Mastercard Asia/Pacific Pte. Ltd. Mastercard and the Mastercard Brand Mark are
registered trademarks of Mastercard International Incorporated.

Bidvest Bank Limited (Reg No 2000/006478/06) is an authorised financial services
and registered credit provider, NCRCP17


Contact Us Privacy Policy Terms and Conditions
Manage cookies


HOW WE USE COOKIES

We use cookies to improve the site, measure performance, understand our
audience, enhance your experience and provide you with advertising based on your
browsing activities and interests on this and other sites. You can always change
your preferences or opt out at the bottom of the site. Please note some of the
cookies we use are essential for the parts of the site to operate. See “Manage
Cookies” for details.

Accept cookies
Manage cookies



COOKIES ON THIS SITE




YOUR PRIVACY

YOUR PRIVACY

Our site uses cookies and other similar technologies like pixel tags and web
beacons. A cookie is a small piece of data that a website asks your browser to
store on your computer or mobile device. Cookies allow a site to "remember" your
actions or preferences over time. So when you visit our site, the cookies may
store or retrieve information on your browser, which may be about you, your
preferences and/or your device. We use cookies, as well as third-party cookies,
to operate and improve the site, measure our audience, enhance your experience
and provide you with content and advertising tailored to your interests based on
your browsing activities and actions on this and other sites. For instance,
cookies enable us to assess how many users access or use our service, which
content, products, and features of our service most interest our users, what
types of content our users like to see, and how our service performs from a
technical point of view.

Click on the different category headings to manage your cookie preferences and
find out more about the cookies we use and why. Click on Allow All if you want
all cookies enabled (although essential cookies are always enabled). Please keep
in mind that if you do not accept certain cookies, it may impact your experience
of the site and the services we are able to offer.

If you have questions about the way we use cookies, please contact us at
privacyanddataprotection@mastercard.com.


 * STRICTLY NECESSARY COOKIES
   
   STRICTLY NECESSARY COOKIES
   
   Always active
   Strictly necessary cookies
   
   These cookies are strictly necessary for the site to work properly and cannot
   be disabled in our systems. These cookies enable core functionality such as
   security, network management, and accessibility. We do not always process
   personal data when we place essential cookies. In the instances we do, we
   rely on the following legal basis for processing: they are necessary to make
   the site function for you to view. Please note that you can set your browser
   to block these cookies, but this may affect how the site functions.
   
    * ONETRUST COOKIES
      
      Always active
      
      These cookies are used for cookie compliance purposes to maintain the
      cookie preference settings of a visitor. Some of these cookies may contain
      an identifier of such visitor, however, we cannot link the identifier to a
      visitor, unless the Website visitor provides us with the cookie which was
      set on his device while browsing on our Website.
   
    * LOAD BALANCING, NETWORK AND SESSION MANAGEMENT COOKIES
      
      Always active
      
      TBD


 * PERFORMANCE COOKIES
   
   PERFORMANCE COOKIES
   
   Performance cookies
   
   These cookies help improve our site by collecting information on how you use
   it. This information enables us to improve site performance, correct any
   errors and provide you a personalized experience. For instance, it helps us
   understand how long you spend on different sections of the site and from
   where you are accessing it; it also helps us see if you have visited our
   sites before so that we can not only identify the number of unique visitors
   but possibly deliver you a personalized experience.
   
    * ADOBE EXPERIENCE CLOUD
      
      Targeting Cookies
      
      


 * FUNCTIONALITY COOKIES
   
   FUNCTIONALITY COOKIES
   
   Functionality cookies
   
   These cookies enable our site to remember choices you make, for example, the
   language you select, or to enable services, such as viewing videos. These
   cookies allow us to tailor the site to you and provide enhanced
   functionality. Without these cookies, certain functionalities may not be
   available.
   
    * LANGUAGE PREFERENCE
      
      Targeting Cookies
      
      The ‘P’ cookie would qualify as a "Functional cookie" to remember language
      preferences for returning users.

Back Button


ADVERTISING COOKIES

Filter Button
Consent Leg.Interest
Select All Vendors
Select All Vendors
Select All Hosts

Select All



Clear Filters

Information storage and access
Apply
Save settings Allow all